【发布时间】:2013-03-15 23:03:25
【问题描述】:
我想使用正则表达式匹配一个模式,但我需要一些例外来匹配。例如,匹配所有出现的“John Doe”,除了“John Doe”被粗体标签括起来的那些出现,即“<b>John Doe</b>”。
Match: John Doe
Don't match: <b>John Doe</b>
如何使用正则表达式实现这一点?
澄清:我想排除粗体标签之间的所有内容。此排除的内容可能包含多种字符、换行符等。
【问题讨论】:
-
你的正则表达式风格是什么?这很重要,因为并非所有风格都提供诸如负后视之类的东西。
-
<b><i>John Doe</i></b>用粗体标记括起来。要排除它吗? -
这是一个 PHP
preg_replace函数。在我的示例中,我想排除两个粗体标签之间的所有内容。粗体标签中的内容将具有不同的种类,并且将包含来自不同语言的代码。我会尝试这里提供的一些建议。谢谢! -
@nhahtdh 如果我们开始尝试排除
<b>some trap</b>John Doe<b>some trap</b>,我们可能会以 pon̷ies 结束... -
根据您的说明:您想匹配不在粗体标签之间的任何内容吗?即从
<b>到(第一次出现)</b>的任何内容都应该不匹配吗?
标签: regex