考慮以下內容:爲什麼我的正則表達式會這樣做?
foo:·····¶
·bar x··¶
·lorem ipsum····¶
dolorsitamet···¶
···¶
consectetur adipiscing elit:
如果中間點表示空間和¶
表示換行符。
(?:foo:\s*)(.+)(?:\n\s*)
的空白行的三個空間相匹配的正則表達式,但(?:foo:\s*)(.+)(?:\n\s+)
相匹配並不能包括以下dolorsitamet
換行符的正則表達式。爲什麼*角色不會貪婪地表現出來?人們期望第三組(?:\n\s*)
匹配
¶
···¶`
我的正則表達式模式爲多,DOTALL。
是的,我使用Regex101手藝正則表達式。我真正想要的是,它匹配'富之間的一切:·····¶'和dolorsitamet後'空白...'(我不關心尾隨空白,但不換行),但它也應該請返回目前爲此處的文字提供的內容 https://regex101.com/r/jZ5hU0/1。 什麼是正確的方法來搭配呢? –
沒關係,我找到了解決辦法是 '(:FOO:\ S *?)(+?)((:$)|(?:?\ n \ + \ n))' –
有點簡單:' (?:FOO:\ S *)(\ n \ S + \ N | $)'(+?) – anubhava