Сопоставлять регулярные выражения только внутри определенного HTML-тега

#html #regex

#HTML #регулярное выражение

Вопрос:

Я пытаюсь сопоставить определенную строку внутри определенных тегов html.

 <p>bla bla bla bla word bla</p> <!--- word bla bla ---!> <p>bla bla bla</p>
  

Единственное, что я придумал, это:

 p>. ?swords. ?</p>
  

Но это не работает должным образом — какой-нибудь совет?

Комментарии:

1. Какую строку вы хотите сопоставить? Внутри каких тегов?

2. Извините, отредактировал исходное сообщение. Пытаюсь сопоставить ‘word’.

3. @user2594043 Какой язык вы используете? Также это всегда в комментарии?

4. Пожалуйста, отредактируйте, чтобы объяснить словами, что вы хотите сделать (сопоставьте word , внутри каких тегов?) и не давайте нам угадывать, что должно делать ваше нерабочее регулярное выражение 🙂 Кроме того, что означает «не работает должным образом»?

5. <p>[^<]*(word)[^<]*</p>

Ответ №1:

<p>(?:.*?)(word)(?:.*?)</p>

http://regex101.com/r/bR3uV6

Комментарии:

1. он хочет сопоставить только строку word . Вы сохранили его в группе. Но это не нужно op.