将 转换为
,但如果它不遵循

或 [h2]

本文关键字:h2 转换 br 如果 | 更新日期: 2023-09-27 18:18:41

我想在字符串中将 ' 替换为
。但没那么简单。如果要放置,则在'n之前不应有 或 [/h2]。

例如,在此示例中,在"某事"和"另一件事"之间放置一个

Something
Another thing

但在此示例中不执行任何操作:

<h2>Something</h2>
<p>Another thing</p>

我想出了(?<!']|'>)'n在这个.NET正则表达式测试器上的工作。在第一个示例中找到了要替换的内容,但在第二个示例中未按预期找到。但是,我无法在我的 C# 代码中让这个漂亮的正则表达式像这样工作。以下代码替换所有'n,无论它是否遵循</h2>

Cevrilen = Regex.Replace(Cevrilen, @"(?<!']|'>)'n", "<br />");

如果中断后面没有</h2>标记,如何替换中断?

将  转换为 <br />,但如果它不遵循 <h2> 或 [h2]

(?<!(?:<'/h2>|'['/h2']))'n

这应该这样做(使用负面的回顾来取消</h2>资格或[/h2]'n之前

(

如果你的html符合xhtml,那么把它加载为System.Xml.Linq.XDocument,不要尝试用正则表达式来分析它。正如一些人所说,"即使是查克·诺里斯也做不到"。