Игнорирование совпадения и продолжение
Есть определенные строки, которые находятся в разным местах в большом файле:
... null='surveys'
... null='section_items'
... null='sections'
etc.
Нужно найти совпадение null= или null и отталкиваясь от них изменить правую часть.
Моя попытка:
(?<!/*null='/*)(\w+['])
Ответы (1 шт):
Автор решения: Wiktor Stribiżew
→ Ссылка
Вы можете использовать
(?<=null=')[^']*(?=')
Если символ = необязателен, если его может не быть, используйте
(?<=null='|null')[^']*(?=')
(?:(?<=null=')|(?<=null'))[^']*(?=')
Подробности
(?<=null=')- положительный блок предварительного просмотра назад, требующий наличияnull=сразу слева от текущей позиции ((?<=null='|null')(PCRE, .NET, Java, ICU) /(?:(?<=null=')|(?<=null'))(Python, Notepad++, Boost) найдут позицию в строке сразу послеnull='илиnull')[^']*- ноль и более символов, отличных от'(?=')- положительный блок предварительного просмотра вперёд, требующий наличия'сразу справа от текущей позиции.