gpt4 book ai didi

regex - 无法转义正则表达式中的反斜杠?

转载 作者:行者123 更新时间:2023-12-03 04:45:55 25 4
gpt4 key购买 nike

我正在使用以下正则表达式

^[a-zA-Z0-9\',!;\?\$\^:\\\/`\|~&\" @#%\*\{}\(\)_\+\.\s=-]{1,1000}$

我知道它很丑陋,但到目前为止,它已经达到了它的目的,除了反斜杠不被允许,因为我认为它应该被允许,因为它被转义了。另外,我尝试了 \\ 而不是 \\\ 但得到了相同的结果。
有什么想法吗?

最佳答案

如果您将其放入程序中的字符串中,则实际上可能需要使用四个反斜杠(因为字符串解析器在对字符串进行“转义”时会删除其中两个反斜杠,然后正则表达式需要两个来转义正则表达式反斜杠)。

例如:

regex("\\\\")

被解释为...

regex("\\" [escaped backslash] followed by "\\" [escaped backslash])

被解释为...

regex(\\)

被解释为匹配单个反斜杠的正则表达式。

<小时/>

根据语言的不同,您可能能够使用不解析转义序列的不同形式的引用,以避免使用尽可能多的转义序列 - 例如,在 Python 中:

re.compile(r'\\')

引号前面的 r 使其成为不解析反斜杠转义的原始字符串。

关于regex - 无法转义正则表达式中的反斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4025482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com