2016-07-29 83 views
-4

之间的文本我有一个包含标签正则表达式来强调标签

我想强调的<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>标签突出

+3

这不是你想要的JS /正则表达式。这是更多的[CSS](http://stackoverflow.com/questions/tagged/css)。 –

回答

0

JavaScript的使用:

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

demo

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

+0

请帮我在这也http://stackoverflow.com/questions/38782183/regex-which-identified-words-with-tags –

0

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

+0

未突出显示。请点击这里https://regex101.com/r/cD8nG4/41 –

+0

虽然这段代码可能会解决这个问题,[包括解释](// meta.stackexchange.com/questions/114762/explaining-entirely-code-基于问题的答案)确实有助于提高帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要使用解释性注释来挤占代码,因为这会降低代码和解释的可读性! – FrankerZ