Skip to main content
 首页 » 编程设计

python之在需要非贪婪匹配的情况下匹配正则表达式

2024年08月19日42jpfss

给定以下字符串;

"Hello", he said. "And now for something completely different!"(Monty Python). 

我想通过引用引号和括号来匹配 "And now for something completely different!"(Monty Python)。在此示例中,"Hello" 不应匹配,因为引号后面没有括号。

非贪婪方法看起来是一种可行的方法:".*?" 匹配 "Hello" 和 "而现在是完全不同的东西! " 分开,这很接近,但如果我将括号 ".*?"(.*) 附加到此,我最终会匹配整个字符串。

也就是

"Hello", he said. "And now for something completely different!"(Monty Python) 

返回。

如何强制我的正则表达式按我要求的方式运行?我在 python 中工作,所以可以选择使用前瞻/后视。

请您参考如下方法:

这个有效:

"[^"]*"(:?\(.*\)) 

它寻找一组引号(即中间没有引号) 后跟一组括号