假设我有一个像

x = "spam ?and eggs"

我正在尝试匹配 "?and" 。目前我是这样做的:
>>> print re.findall(re.escape('?and'), x)
['?and']

这是 re.escape 的正确用例吗?它可以与我正在寻找的任何其他字符串文字一起使用,其中可能包含其他类型的正则表达式语法吗?

我的用例是 pexpect.spawn.expect(pattern) 中的参数,其中输入模式可以是编译为正则表达式的字符串类型。在某些情况下,我正在搜索的内容可能看起来像一个正则表达式,但它实际上是我想要匹配的字符串文字。

最佳答案

对于 pexpect,您可以使用 expect_exact() 而不是 expect() 来禁用正则表达式功能,它将与您提供的 Python 字符串完全匹配。

从文档:

关于python - 如何匹配包含正则语法的字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9713129/

10-12 19:27