在某些正则表达式之后匹配任何a-z / A-Z和 - 字符

时间:2012-05-07 14:21:19

标签: c# asp.net regex

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

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

所以应该允许这样做:

[0000] foo-bar

[0000] foo

[0000] foo-bar-foo

等..

到目前为止,我有这个:

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

这与[0000]匹配,因此它将括号中的4个数字与空白进行匹配。 在那之后我似乎无法找到允许追逐者的东西。我试过把一个“。”在表达式的末尾,因为它应匹配任何字符,但这似乎不起作用。

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

以上都不起作用..

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

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:2)

希望

(\[[0-9]{4}\])\s+([A-z\-]+)能够奏效。它还会将数字和字母捕获到两个捕获组中。

答案 1 :(得分:1)

试试这个

@"\[[0-9]{4}\] [a-zA-Z]+(-[a-zA-Z]+)*"

答案 2 :(得分:1)

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