我有一个字段,我需要一个正则表达式,其中前3位数字是数字,第四个字符应该是字母只有字母,我需要在C#和JavaScript都有正则表达式。C#正则表达式的三位数字和一个字母
我下面的正则表达式是好三个数字号码
@"\A(\d){3}\Z";
如何为它必须是字母
我有一个字段,我需要一个正则表达式,其中前3位数字是数字,第四个字符应该是字母只有字母,我需要在C#和JavaScript都有正则表达式。C#正则表达式的三位数字和一个字母
我下面的正则表达式是好三个数字号码
@"\A(\d){3}\Z";
如何为它必须是字母
如果阿尔法你的意思是只拉丁字母,你可以做到这一点的第四个字符添加:
^\d{3}[a-zA-Z]$
不能使用在JavaScript \A
和\Z
但他们相当于^
和$
除非您使用m
选项。
如果您需要完整的Unicode字符范围,请使用\p{L}
而不是[a-zA-Z]
,但您对JavaScript支持不太好。你必须包括相关的Unicode范围用手把字符类...
我想你想知道什么是Character Classes or Character Sets
随着“字符类”,也叫“字设置“,你可以告诉正则表达式引擎只匹配几个字符中的一个。只需将要匹配的字符放在方括号中即可。 [...]
和
[...]你可以使用一个字符类中的连字符指定字符的范围。 [0-9]匹配0到9之间的单个数字。您可以使用多个范围。 [0-9a-fA-F]匹配一个十六进制数字,不区分大小写。您可以组合范围和单个字符。 [0-9a-fxA-FX]匹配十六进制数字或字母X.同样,字符和范围的顺序也不重要。 [...]
所以基本上你可以将它们放在方括号,并使用连字符表示范围
[A-Z]
可以搭配多组匹配字符“A”到“Z”,所以,如果你还需要 “A” 到 “Z”(小写)可以包括
[A-Za-z]
其他字母如“ÖÜŞ”呢?他们在A和Z之间取决于文化。 – 2014-10-11 23:28:20
你可以这样写'@ “\ A(\ d){3} \ Z”;'正则表达式并不能增加'字母'? – 2014-10-11 22:54:20
第四个字母必须是字母A-Z – 2014-10-11 23:03:43