Как соответствовать символу' <' не сопровождаемый (или 'их' или 'сильный')?

Как я сделал бы регулярное выражение для соответствия символу < не сопровождаемый (a или em или strong)

Так <hello и <string соответствовал бы, но <strong не был бы.

21
задан zb226 21 October 2018 в 17:48
поделиться

3 ответа

Попробуйте следующее:

<(?!a|em|strong)
43
ответ дан 29 November 2019 в 06:49
поделиться

Если ваш механизм регулярных выражений поддерживает это, используйте утверждение отрицательного просмотра вперед: это смотрит вперед в строке и преуспевает, если оно не соответствует; однако он не потребляет никаких входных данных. Таким образом, вы хотите / <(?! (?: a | em | strong) \ b) / : сопоставить <, затем добиться успеха, если нет a , em или strong , за которым следует разрыв слова, \ b .

2
ответ дан 29 November 2019 в 06:49
поделиться

Вы используете отрицательный просмотр вперед , простейшая форма которого (для этой проблемы):

<(?!a|em|strong)

Единственная проблема в том, что он игнорирует . Чтобы справиться с этим, можно использовать \ b , которое является выражением нулевой ширины (то есть не захватывает ни один входной сигнал), которое сопоставляет слово с переходом без слова или от слова к слову. Символы слова: [0-9a-zA-Z _] . Итак:

<(?!(a|em|strong)\b)
8
ответ дан 29 November 2019 в 06:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: