我想查找所有以特定标签开头并以不同标签结尾的行。例如:
<p class="amigo">My mother is at home.<br>
尝试了正则表达式,但效果不太好,因为选择并没有停止在<br>
,它会选择其后的所有内容,如果我有更多这样的标签: .*<p class="amigo">(?s)(.*)<br>*$
谁能帮我?
答案1
只需使通配符不贪婪:
<p class="amigo">(?s)(.*?)<br>
// here __^
根据评论编辑:
- Ctrl+F
- 找什么:
<p class="amigo">(?:(?!</?p).)*<br>
- 取消勾选匹配大小写
- 检查环绕
- 检查正则表达式
- 查看
. matches newline
- Search in document
解释:
<p class="amigo"> # literally
(?: # start non capture group
(?!</?p) # negative lookahead, make sure we haven't "<p" or "</p"
. # 1 anycharacter
)* # end group, may appear 0 or more times
<br> # literally
答案2
另外,我找到了另一个答案:
<p class="amigo">(?s)(?-s)(.*)<br>*$
或者
<p class="amigo">(?-s)(.*)<br>*$