2014-10-11 71 views
-1

我有一个字段,我需要一个正则表达式,其中前3位数字是数字,第四个字符应该是字母只有字母,我需要在C#和JavaScript都有正则表达式。C#正则表达式的三位数字和一个字母

我下面的正则表达式是好三个数字号码

@"\A(\d){3}\Z"; 

如何为它必须是字母

+3

你可以这样写'@ “\ A(\ d){3} \ Z”;'正则表达式并不能增加'字母'? – 2014-10-11 22:54:20

+0

第四个字母必须是字母A-Z – 2014-10-11 23:03:43

回答

0

如果阿尔法你的意思是只拉丁字母,你可以做到这一点的第四个字符添加:

^\d{3}[a-zA-Z]$ 

不能使用在JavaScript \A\Z但他们相当于^$除非您使用m选项。

如果您需要完整的Unicode字符范围,请使用\p{L}而不是[a-zA-Z],但您对JavaScript支持不太好。你必须包括相关的Unicode范围用手把字符类...

0

我想你想知道什么是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] 
+0

其他字母如“ÖÜŞ”呢?他们在A和Z之间取决于文化。 – 2014-10-11 23:28:20

相关问题