如何通过Python正则表达式引擎检查给定字符是否被视为"特殊"?

Pra*_*rag 5 python regex special-characters

有没有一种简单的方法可以验证给定字符是否具有特殊的正则表达式函数?

当然我可以在列表中收集正则表达式字符,比如['.', "[", "]", etc.]检查一下,但我想有更优雅的方式.

Jun*_*sor 5

你可以用re.escape.例如:

>>> re.escape("a") == "a"
True
>>> re.escape("[") == "["
False
Run Code Online (Sandbox Code Playgroud)

这个想法是,如果一个角色是一个特殊角色,那么re.escape返回前面带有反斜杠的角色.否则,它返回角色本身.

  • re.escape 不检测字符是否特殊,它只检测它是否是非字母数字。https://docs.python.org/2/library/re.html#re.escape (2认同)