Регулярное выражение между элементами для конкретных символов - PullRequest
0 голосов
/ 19 сентября 2019

Скажем, у меня есть следующая строка:

&<div>test & test & test</div><&>

Как мне найти все теги & между тегами элемента, то есть ></?(не обязательно должен быть конкретным для div)

До сих пор я получил >.*(&).*<, но это находит только последнее и между ></.

Для контекста мне в конечном итоге нужно использовать это регулярное выражение для перевода определенных специальных символов, чтобы использовать соответствующий escape-символ, но только между элементами.

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

Чтобы соответствовать только &, используйте взгляд в будущее:

&(?=[^<>]*</)

Это не пуленепробиваемое, но, надеюсь, будет работать для вашего ввода.

0 голосов
/ 19 сентября 2019

Проблема в том, что выражение .* является «жадным».И я не вижу косую черту после последнего символа < в вашем регулярном выражении.

Точный ответ зависит от используемого вами диалекта RE (вы ничего не сказали об этом), но вобщий случай, это должно работать:

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