Regex, чтобы найти слово, а не другое слово между 2 другими словами в нескольких строках в Java - PullRequest
0 голосов
/ 20 апреля 2020

Мне нужно найти несколько документов x html, ища следующее: любой тег, в котором есть строка action = , но не строка update = Я использую Eclipse Поиск, поэтому мне нужно регулярное выражение в Java формате

Если я не ошибаюсь, это может быть достигнуто с помощью следующего (я также игнорирую пробелы между action / update и = )

^(?!.*update\s*=).*action\s*=.*$

Моя проблема - поиск по одной строке, так как этого будет недостаточно, поскольку теги html могут занимать несколько строк.

Итак, мне нужно искать между <</strong> и > тега, даже если он находится на другой строке.

Можно ли этого достичь?

Примеры строк i хочу соответствовать (мне все равно, если часть игнорируется:

<a href="#" action="test" update="test_container"></a>

<a href="#" action="test2"
 update="test_container2"></a>

<mytag href="#" update="test_container3"
action="test3" />

1 Ответ

0 голосов
/ 20 апреля 2020

action=, но не update= внутри <...>:

<([^>](?!update\s*=))*action\s*=([^>](?!update\s*=))*>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...