我继承了一些带有以下正则表达式的 C# 代码
Regex(@"^[a-zA-Z''-'\s]{1,40}$")
除了单引号的作用,我理解这个字符串。我到处搜索但似乎找不到解释。有什么想法吗?
最佳答案
据我所知,这个表达式是多余的。
它匹配 a-z
或 A-Z
,或 '
字符,或 '
和 之间的任何内容'
(当然只是 '
字符,或任何空格。
我已经使用 RegexPal 对此进行了测试它似乎不匹配除这些字符之外的任何内容。也许序列是由代码生成的,或者它在早期版本中用于匹配更广泛的字符?
更新:根据您的评论(匹配名称),我将继续猜测作者认为他转义一个连字符在引号中,并且不是最出色的软件测试员。他们的意思可能是:
Regex(@"^[a-zA-Z'\-\s]{1,40}$") //Escaped the hyphen
也可以写成:
Regex(@"^[a-zA-Z'\s-]{1,40}$") //Put the hyphen at the end where it's not ambiguous
关于c# - 此正则表达式中单引号的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11854327/