正则表达式匹配最后一次出现字符串

时间:2016-03-15 10:12:31

标签: javascript html regex

努力寻找办法,以便任何帮助表示赞赏。

在单行上添加简单文字 - 并希望匹配最终</p>代码后的所有文字。

我在Open Office中使用正则表达式 - 所以我需要返回一个直接匹配而不是一个javascript数组。

字符串如下所示:

<p>Foo bar bar bar foo</p> <p>Foo bar bar foo</p> This Foo bar foo bar <br>

我可以匹配包含最终的</p>,如下所示:

<\/p>(?!.*<\/p>).*$

我可以像这样在php正则表达式中匹配它:

(?<=<\/p>(?!.*<\/p>))(.*)(?=$)

我可以近距离使用它 - 但它只匹配第一个< - 而不是整个</p>字符串:

(?!.*<\/p>)(.*)(?=$)

让我发疯,所以任何帮助都会受到赞赏。

由于

很抱歉 - 是的确看到了重复的问题,但无法让它发挥作用 - 所以他们为这些问题说出了这些解决方案:

.*\[\/quote\](.*)$

[\s\S]*\[\/quote\]([\s\S]*)$

我转向我的问题看起来像这样:

.*<\/p>(.*)$

[\s\S]*<\/p>([\s\S]*)$

我无法使用开放式办公室正则表达式 - 所以问题就这样了。

1 个答案:

答案 0 :(得分:1)

对不起我之后没想到你想要的:

</p>

使用此:

.*<\/p>(.*)$

你有一个数组,其中第二个元素就是你要找的东西。

经过测试的代码:

var text = '<p>Foo bar bar bar foo</p> <p>Foo bar bar foo</p> This Foo bar foo bar <br>';
var patt = new RegExp(".*<\/p>(.*)$");
var matched = patt.exec(text);

测试仪:

http://www.pythontutor.com/javascript.html#mode=edit

结果:

enter image description here