Как можно сделать так, чтобы регулярное выражение отрицательного вида работало несколько раз на одной и той же строке?

Как заставить мое регулярное выражение работать через одну и ту же строку?

Он должен соответствовать любому экземпляру ‘string’, если за ним сразу не следует ‘<<‘

Модификатор: с

PCRE:

(?!.*?\<<)string

Тестовая строка:

string<< string string

string string<< string

string string string<<

string string string

Текущий результат (совпадения выделены жирным шрифтом)

строка<< строка

строка<< строка

строка строка строка<<

строка строка строка

Предполагаемый результат

строка<< строка

строка строка<< строка

строка строка<<

строка строка строка

Ссылка на regex101

Спасибо за любую помощь!

0

Решение

Окружая граница слова как это.

/\bstring\b(?!<<)/ Это будет искать string имеет границу слова с обеих сторон, но не сопровождается <<

Обновил ваше регулярное выражение.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]