Мне нужно совместить в некотором тексте некоторый узор, но этот шаблон не должен иметь другого шаблона. Я использую в html некоторые группы, а html-страница не добавляет новую строку. Вместо новой строки в html добавлено
, поэтому я получаю проблемы здесь.Как правильно исключить группу в регулярном выражении?
Я пытаюсь использовать это регулярное выражение:
/\|([^\r\n|]+?(?!<br>))\|/igm
и пример есть:
test1 | test2 | test3<br>| test4<br>| test5 |<br>test6
Должен быть соответствующим только | test2 |
и группа test2
, но сейчас также соответствие | test4<br>|
и не права | test5 |
. Мне нужно исключить соответствие test4, но не знаю, как использовать его с []
, потому что он игнорировал (?!<br>)
.
P.S. конечно | test2 |
также может быть | text1 <span ...>text2</span> text3 |
, поэтому размещение <>
в []
не является решением, в котором я нуждаюсь.
Пожалуйста, покажите пример строки (конкретные примеры) вместо непонятных описаний –
@CasimiretHippolyte, это хороший пример. 1) Я получаю объект, что мне нужно для редактирования. 2) Получите innterHTML и примените функцию '.replace()' с этим регулярным выражением. Проблема в какой-то ситуации не должна быть выбрана. Как я уже сказал, HTML содержит '
', а не '\ r \ n', и я не могу исключить только символ новой строки, потому что
- это группа из 4 символов, а не одна. – XCanG
@XCanG: вы имеете в виду '\ | (? :(?!
) [^ \ r \ n |]) * \ |'? См. [This regex demo] (https://regex101.com/r/fU2xF9/1). –