給定以下字符串;在需要非貪婪匹配的情況下匹配正則表達式
我想匹配"And now for something completely different!"(Monty Python)
,通過引用引號和括號。在此示例中,"Hello"
不應匹配,因爲引號後沒有括號。
非貪婪的方法看起來就像一條路可走:".*?"
比賽"Hello"
和"And now for something completely different!"
分開,這是接近的,但如果我追加到這個支架,".*?"(.*)
,我結束了整個字符串匹配。
也就是說
"Hello", he said. "And now for something completely different!"(Monty Python)
返回。
如何強制我的正則表達式按照我的要求行事?我在python中工作,所以可以選擇使用lookahead/behind。
要匹配字面括號,使用反斜線轉義或放入類中,否則它們將打開捕獲組。此外,我寧願使用否定類而不是非貪婪點,它不會給你從最後的最短匹配。 –