正则表达式以突出标记之间的文本

时间:2016-07-29 13:55:08

标签: javascript html regex

我的文字包含<abbr></abbr>代码

之间的文字

我想突出显示标记之间不包含其他<abbr></abbr>标记的<abbr></abbr>标记。这是样本

 content example <abbr variable-title="notepad 1">data <abbr variable-title="notepad 2">sample value </abbr>sample conten</abbr>

在此,我想仅突出显示<abbr variable-title="notepad 2">sample value </abbr>,因为它没有嵌套<abbr></abbr>

如何编写正则表达式以突出显示单个<abbr></abbr>标记

2 个答案:

答案 0 :(得分:0)

可以试试/<abbr>(\S.*?)<\/abbr>/gi

答案 1 :(得分:0)

使用JavaScript:

str.replace(/(<abbr )([^>]*>[^<]*(<(?!abbr)[^<]*)*?<\/abbr>)/gi, "$1class=\"highlight\" $2");

请参阅demo

然后在CSS中定义一个类abbr.highlight