正则表达式在文本编辑器(崇高)中工作,但在 python 中不工作 [重复]

Posted

技术标签:

【中文标题】正则表达式在文本编辑器(崇高)中工作,但在 python 中不工作 [重复]【英文标题】:Regex working in text editor(sublime) but not in python [duplicate] 【发布时间】:2020-08-05 23:58:20 【问题描述】:

我想使用正则表达式提取该行。 我想从文档中提取的行是:

":method":"POST",":path":"/api/browser/projects/8bd4d1d3-0b69-515e-8e15-e9c49992f7d5/buckets/b-ao-mock-testing/copy

我使用的正则表达式是:

":method"[:"a-z,/\d-]20,1000/copy

python中相同的代码是:

re.findall('":method"[:"a-z,/\d-]20,1000/copy', str(s), re.MULTILINE)

它在崇高的文本中工作得非常好,但在 python 中却不行。它在 python 中返回一个空列表。如何解决?

【问题讨论】:

默认情况下,Sublime 文本中的正则表达式搜索不区分大小写。您需要打开Aa 按钮以使其区分大小写。在 Python 中,您只是使用了不同的正则表达式,没有 re.I。使用re.I 【参考方案1】:

您需要使用i modifier: insensitive. Case insensitive match (ignores case of [a-zA-Z])。 如果没有这个,POST 将如何匹配?

或使用":method"[:"a-zA-Z,/\d-]20,1000/copy

See demo

【讨论】:

为什么投反对票?

以上是关于正则表达式在文本编辑器(崇高)中工作,但在 python 中不工作 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式搜索 - 在测试人员中工作,而不是在Spyder中[重复]

复杂的正则表达式 - 在Powershell中工作,而不是在Bash中工作

正则表达式如何在 selenium 中工作?

Robotframework - 在python中工作的正则表达式不匹配

在在线正则表达式测试器中工作的 MariaDB 正则表达式在 SELECT WHERE REGEXP 中不起作用

非捕获组不在正则表达式中工作