我正在使用以下正则表达式
^[a-zA-Z0-9\',!;\?\$\^:\\\/`\|~&\" @#%\*\{}\(\)_\+\.\s=-]{1,1000}$
我知道它很丑陋,但到目前为止,它已经达到了它的目的,除了反斜杠不被允许,因为我认为它应该因为它被转义了。
另外,我尝试过\\
代替\\\
但得到了相同的结果。
有任何想法吗?
如果您将其放入程序中的字符串中,则实际上可能需要使用四个反斜杠(因为字符串解析器在“转义”它时会删除其中两个反斜杠)string,然后正则表达式需要两个来转义正则表达式反斜杠)。
例如:
regex("\\\\")
被解释为...
regex("\\" [escaped backslash] followed by "\\" [escaped backslash])
被解释为...
regex(\\)
被解释为匹配单个反斜杠的正则表达式。
根据语言的不同,您可能能够使用不解析转义序列的不同形式的引用,以避免使用尽可能多的转义序列 - 例如,在 Python 中:
re.compile(r'\\')
The r
在引号前面使它成为raw不解析反斜杠转义的字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)