1

Я хочу найти все строки, начиная с определенного тега и заканчивая другим тегом. Например:

<p class="amigo">My mother is at home.<br>

попробовал регулярное выражение, но не работает хорошо, потому что выбор не останавливается на <br> , он выбирает все после него, если у меня есть больше тегов, как этот:. .*<p class="amigo">(?s)(.*)<br>*$

Может кто-нибудь мне помочь?

2 ответа2

1

Просто сделайте шаблон не жадным:

<p class="amigo">(?s)(.*?)<br>
//               here __^

Редактировать в соответствии с комментарием:

  • Ctrl+F
  • Найти что: <p class="amigo">(?:(?!</?p).)*<br>
  • UNcheck Match case
  • проверить обернуть
  • проверьте регулярное выражение
  • ПРОВЕРЬТЕ . matches newline
  • Поиск в документе

Объяснение:

<p class="amigo">   # literally
(?:                 # start non capture group
    (?!</?p)        # negative lookahead, make sure we haven't "<p" or "</p"
    .               # 1 anycharacter
)*                  # end group, may appear 0 or more times
<br>                # literally

0

также я нахожу другой ответ:

<p class="amigo">(?s)(?-s)(.*)<br>*$

или же

<p class="amigo">(?-s)(.*)<br>*$

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .