gpt4 book ai didi

python - 使用 ply 转义正则表达式中的空格?

转载 作者:行者123 更新时间:2023-11-28 22:02:56 42 4
gpt4 key购买 nike

我需要在正则表达式中转义单个空格吗?我知道它在 Python 中有以下两种工作方式:re.compile(r'\s')re.compile(r' ')re .compile(r'\')。因此,您似乎可以使用 Python re 模块转义或不转义它。

但是当我尝试通过 ply.lex 为单个空格定义规则时,情况似乎有些不同。

########################### r'\s' works with ply.lexdef t_WHITESPACE(token):  r'\s'  pass########################### r'\ ' also works def t_WHITESPACE(token):  r'\ '  pass########################### r' ' DOES NOT work # A SyntaxError was raised with the message "Regular expression for rule 't_WHITESPACE' matches empty string"def t_WHITESPACE(token):  r' '  pass

ply.lex是否对规则的doc字符串做了特殊处理?

最佳答案

我不知道 ply,但这看起来像是使用 re.VERBOSE 编译正则表达式选项,这意味着您确实需要转义文字空白或使用 \s

此外,您需要转义哈希值 (#),否则以下部分将被解释为注释。

关于python - 使用 ply 转义正则表达式中的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10311827/

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