正则表达式提取物最后一次出现忽略新线
考虑像一个字符串:正则表达式提取物最后一次出现忽略新线
"@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://*.com/questions/1979884/how-to-use-javascript- regex-over-multiple-lines – Oli