2016-07-29 4 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/Regex. Это больше для [CSS] (http://stackoverflow.com/questions/tagged/css). –

ответ

0

С использованием JavaScript:

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

См. demo.

Затем определите класс abbr.highlight в вашем CSS.

+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

Смежные вопросы