0

我需要某个字符串采用这种格式:[0000] anyword

所以在 [] 括号之间我需要 4 个数字,后跟一个空格。之后,只允许从 a 到 z 的字符和 - 字符。

所以应该允许这样做:

[0000] 富吧

[0000] 富

[0000] foo-bar-foo

ETC..

到目前为止,我有这个:

\[[0-9]{4}\]\s

这与 [0000] 匹配,因此它匹配其中包含 4 个数字的括号和空格。在那之后我似乎找不到允许字符的东西。我试过放一个“。” 在表达式的末尾,因为这应该匹配任何字符,但这似乎不起作用。

\[[0-9]{4}\]\s^[A-Z]+[a-zA-Z]*$

以上也不起作用..

我需要这个表达式作为 asp.net 自定义验证器的 Validationexpression。

任何帮助将不胜感激

4

3 回答 3

2

(\[[0-9]{4}\])\s+([A-z\-]+)应该有希望工作。它还将数字和字母捕获到两个捕获组中。

于 2012-05-07T14:29:16.603 回答
1

试试这个

@"\[[0-9]{4}\] [a-zA-Z]+(-[a-zA-Z]+)*"
于 2012-05-07T14:30:56.417 回答
1

这适用于您的输入:http ://regexr.com/?30sb7 。与 Cornstalk 的答案不同,它不会捕获任何东西,并且-如果它被转义,确实可以稍后放置在一个范围内。

于 2012-05-07T14:34:14.940 回答