Javascript 正则表达式-当HTML标记中不包含文本时,替换HTML字符串中的文本

Javascript 正则表达式-当HTML标记中不包含文本时,替换HTML字符串中的文本,javascript,jquery,html,regex,vb.net,Javascript,Jquery,Html,Regex,Vb.net,我希望有人能帮我解决这个小问题 我有一个HTML字符串,下面是一个简化的示例,我需要在其中查找和替换文本。但只有当文本没有出现在HTML标记中时,例如 例如,我想用下面的span字符串替换中的单词,从而生成下面的完整HTML <span class="highlight">in</span> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td&g

我希望有人能帮我解决这个小问题

我有一个HTML字符串,下面是一个简化的示例,我需要在其中查找和替换文本。但只有当文本没有出现在HTML标记中时,例如

例如,我想用下面的span字符串替换中的单词,从而生成下面的完整HTML

<span class="highlight">in</span>


<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<span class="highlight">In</span> this text I'd like to replace the word "<span class="highlight">in</span>" with another piece of text <span class="highlight">in</span>stead.
</td>
</tr>
</table>

我只想替换出现在>和之间的文本的原因如果只想替换中的单词,不包括中包含的单词,请使用:

\bin\b
例如


要替换>Hi中的任何内容,请快速回复。它可以是任何单词,而不仅仅是“输入”中的单词,它取自用户的搜索词。我给出了一个例子,因为在这个例子中,这严重破坏了HTML。干杯,谢谢你,哈普!你最初的反应让我明白了。这是我的最终代码。将rgx设置为新的RegexString.Format\b{0}\b,SearchText,RegexOptions.IgnoreCase ltrPageCopy.Text=rgx.replaceThMLText,String.Format{0},SearchText\b还与hyhphen-匹配,因此模式将与内置模式匹配。最好使用/^ |\sin\s |$/@user2943355这不是问题,我已经将初始响应添加回了答案。看看我的答案。这似乎涉及到解析HTML以获取字符串。为此,请使用内置解析器,请参阅关于使用正则表达式解析HTML。
Dim rgx As New Regex(String.Format("\b{0}\b", SearchText, RegexOptions.IgnoreCase) 
ltrPageCopy.Text = rgx.Replace(HTMLText, String.Format("<span class=""highlight"">{0}</span>", SearchText))
\bin\b