【发布时间】:2021-10-17 18:10:19
【问题描述】:
C#、.NET 环境。
在 HTML 字符串中,我试图替换任何出现的一个或多个换行符 (\n),这些字符前面有一个 HTML 标记,但后面没有另一个带有 <p> 的 HTML 标记,以及任何出现的一个或多个换行符前面不是 HTML 标记,而是后面跟一个带有</p> 的 HTML 标记。
举个例子:
<h1>Heading</h1>
Some text here
<h2>Subheading</h2>
...将更新为:
<h1>Heading</h1><p>Some text here</p><h2>Subheading</h2>
我试过了,但没用:
string result = "some HTML content";
string pattern = @">(\n+)[^<]";
result = Regex.Replace(result, pattern, "<p>", RegexOptions.Multiline);
pattern = @"[^>](\n+)<";
result = Regex.Replace(result, pattern, "</p>", RegexOptions.Multiline);
【问题讨论】:
-
Here an idea at regex101,如果这符合您的需求,请尝试。