2014-10-11 73 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

相關問題