正则表达看后面(不是立即)

时间:2015-08-06 09:26:40

标签: regex

是否有可能在搜索到的模式之前编写一个不能立即检查某些内容的lookbehind?

目前我的正则表达式如下所示:

(<p>)?\${placeholder}(</p>)?\n?

目标:摆脱${placeholder},如果它是html段落中的唯一元素,也删除开始和结束标记。

测试字符串一,</p>不应该被剥离(不起作用):

<p>Lorem ipsum dolor sit amet: ${placeholder}</p>

测试字符串二,<p></p>不应被剥离(有效):

<p>${placeholder}</p>

我在(?<=<p>)前面添加</p>,其效果是字符串为1,但不再是字符串2。据我所知,这只适用于<p></p>

1 个答案:

答案 0 :(得分:0)

你是对的,一个外观检查文本是否会立即出现在lookbehind中的内容之前,以及它是什么。也许你应该检查(?&lt; =

$ {placeholder})然后,如果我理解正确