我继承了一些带有以下正则表达式的 C# 代码
Regex(@"^[a-zA-Z''-'\s]{1,40}$")
除了单引号的作用之外,我理解这个字符串。我到处搜索但似乎找不到解释。有任何想法吗?
据我所知,这个表达是多余的。
它匹配a-z
or A-Z
, 或者'
字符,或之间的任何东西'
and '
(当然这只是'
再次字符或任何空格。
我已经使用测试过了RegexPal除了这些字符之外,它似乎不匹配任何内容。也许该序列是由代码生成的,或者它用于匹配早期版本中更广泛的字符?
UPDATE:从你的评论(匹配一个名字),我要继续猜测作者认为他是escaping连字符放在引号中,并且不是最出色的软件测试人员。他们的意思大概是:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)