我有一个文本字段,我需要使用正则表达式进行验证。我的要求如下:
CCCCNNNNNN
或CCCCNNNNNNN
(模板)
1234ABCDEFG
或123-ABCDEFG
(示例字符串)
规则:
E.g。 AAAA
1234
A58-
是CCCC的有效字符串。
这是我的研究笔记:
+
字符来指定匹配此模式X次这里有关于RegEx模式的精彩帖子:
Matching numbers with regular expressions — only digits and commas
我的目标是将此REGEX模式应用于WinForms应用程序中的文本框Mask。
答案 0 :(得分:3)
...
...
...是的 - 我认为您正在寻找的答案(我强调“ 认为 ”)就是这样的表达式:
^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$
这就是:
^ # assert beginning (not in the middle)
[0-9A-Za-z]{3} # three characters that are: 0-9 or a-z (upper or lower)
[0-9A-Za-z-] # one character that is: 0-9 or a-z (upper or lower) or a dash
\d{0,21} # anywhere from 0 to 21 digits
$ # assert at the end (not somewhere in the middle
如果要匹配此表达式的多个案例,请将上述表达式(减去断言)放入parantheses(()
)以及允许分隔这些值的任何内容 - 我选择\s
或“whitespace”)然后使用+
量词:
^([0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}\s+)+$
将匹配/验证以下输入:
1234567890 AAAA123456789012345678901 GGG-123 hhh5 A1B2000000000
如果你想要别的东西,你将不得不提出一个更清晰的问题(你的问题中存在很多矛盾和重复,这使得它非常混乱)