正则表达式:查找不以 html 标签开头,但以其他标签结尾的行,并在开头进行替换

正则表达式:查找不以 html 标签开头,但以其他标签结尾的行,并在开头进行替换

我有以下几行,我需要将它们全部变成段落,<p class="mb-40px"></p>前两行没有 html 标签,但以不适当的标签结尾。第三行末尾也有相同的不适当标签,但开头有正确的标签。

Vă pare rău pentru ce aţi făcut?”<br />
”Can you love me?”<br />
<p class="mb-40px">Să ne imaginăm nişte răspunsuri ale agresorului.<br />

必须成为:

<p class="mb-40px">Vă pare rău pentru ce aţi făcut?”</p>
<p class="mb-40px">”Can you love me?”</p>
<p class="mb-40px">Să ne imaginăm nişte răspunsuri ale agresorului.</p>

我的两个正则表达式几乎都很好,但在第三行中重复了第一个标签

寻找:^(.*)(<br />)$

替换为:<p class="mb-40px">\1</p>

或者

寻找:^(?!<p>)(.+?)(<br />)$

替换为:<p class="mb-40px">\1<\p>

答案1

  • Ctrl+H
  • 找什么:^(?:<p class="mb-40px">)?(.+)<br />
  • 用。。。来代替:<p class="mb-40px">$1</p>
  • 查看 环绕
  • 查看 正则表达式
  • 取消选中 . matches newline
  • Replace all

解释:

^                           # begining of line
(?:<p class="mb-40px">)?    # non capture group, optional open p tag
(.+)                        # group 1, 1 or more any character
<br />                      # literally

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

相关内容