<p>Fie pentru a păstra prospețimea anumitor culori (ex. odinioară, ullraniarinul. Text.
Altădată se folosea usturoiul, deoarece conține și un ulei esențial, rare aderă prin dizolvarea la suprafață a grăsimilor și lotodală un mucegaiul cleios, sensibil la apă.</p>
输出必须是:
<p>Fie pentru a păstra prospețimea anumitor culori (ex. odinioară, ullraniarinul. Text. Altădată se folosea usturoiul, deoarece conține și un ulei esențial, rare aderă prin dizolvarea la suprafață a grăsimilor și lotodală un mucegaiul cleios, sensibil la apă.</p>
我的正则表达式在 notepad++ 中似乎很好,但是我需要一个更短的正则表达式(因为这个不适用于 Python)
寻找:(<p>)(.*?$)(\s+.*?)
替换为:\1\2
答案1
无论如何,您都不能使用更短的、有效的正则表达式。
这是一个始终有效的方法:
- Ctrl+H
- 找什么:
(?:<p>|\G(?!\A))(?:(?!</p>).)*\K\R\h*
- 用。。。来代替:
LEAVE EMPTY
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
解释:
(?: # non capture group
<p> # literally
| # OR
\G(?!\A) # restart from last match position, not at the beginning of file
) # end group
(?: # non capture group
(?!</p>) # negative lookahead, make sure we haven't </p> after
. # any character but newline
)* # end group, may appears 0 or more times
\K # forget all we have seen until this position (reset operator)
\R # any kind of line break
\h* # 0 or more horizontal spaces
替代品:
$0 # the whole match
: # a colon
截图(之前):
截图(之后):
答案2
寻找:(^.*?)\s+\R\s+
替换为:\1
或 \1\x20
或者
寻找:(<p>.*?$)\s+(.*?</p>)
替换为:\1 \2