考慮像一個字符串:正則表達式提取物最後一次出現忽略新線
"@foo #[email protected]@foo #foo\n
foofoofoo\n
foo @bar"
我試着2天,所以這裏提取最後#/@
發生之前,「酒吧」的@
。現在,我有這樣的[@#](?!.*[@#])
似乎工作,除非用戶在那裏插入新行。
有人可以給我一些提示嗎?
考慮像一個字符串:正則表達式提取物最後一次出現忽略新線
"@foo #[email protected]@foo #foo\n
foofoofoo\n
foo @bar"
我試着2天,所以這裏提取最後#/@
發生之前,「酒吧」的@
。現在,我有這樣的[@#](?!.*[@#])
似乎工作,除非用戶在那裏插入新行。
有人可以給我一些提示嗎?
您可以使用此lookhahead正則表達式:
/[#@](?![\s\S]*[#@])/
(?![\s\S]*[#@])
是負先行斷言沒有@
或領先於任何線當前位置的#
。 [\s\S]
匹配任何字符,包括換行符。
Ty for your help but for a like like'@foo #bar'這個正則表達式給了我'@'當我期待'#' –
'@foo#bar'確實會匹配'#'正如你可以在這個演示中看到的那樣](https://regex101.com/r/gS5qQ1/2) – anubhava
你真是太棒了,幫了我很多! –
'.'與默認的新行不匹配,做一個類似'[\ s \ S]的捕獲' –
相關:http://stackoverflow.com/questions/1979884/how-to-use-javascript- regex-over-multiple-lines – Oli