首页 > 解决方案 > 如何使用正则表达式将内容包装在某个 html 标记内而不影响任何 html 标记

问题描述

我正在通过正则表达式模式解析文本块,并且需要将生成的文本包装在span标签中。

我正在使用这个库 http://xregexp.com/

文本的兄弟姐妹可能包含也可能不包含标签。

示例输入:

<span><span>T</span><span>e</span><span><span>st</span></span>  <b>1</b> </span> . <i>2</i>

从上面的输入中,我使用 jQuery getText() 获取文本并解析为模式。

((?<first>\\b[Tt][Ee][Ss]([A-z]{0,3})?)(?<one>(\.?\\s?))(?<Numberone>[0-9]{0,3}?)(?<two>(\.?\\s?\-?))(?<NumberTwo>[0-9]{0,3}))';

我正在使用 XRegExp 4.2.0 库。

正则表达式的输出:

 first : Test
 Numberone : 1 
 NumberTwo : 2

我想要达到的目标:<span id="test"><span>T</span><span>e</span><span><span>st</span></span><span> <span id="1"><span> <b>1</b> </span></span> . <span id="2"> <i>2</i></span>

我想不出一个合适的逻辑来使用 Jquery 执行它。

感谢任何帮助。谢谢 !

标签: javascriptjqueryhtmlregex

解决方案


推荐阅读