Проблема с заменой в Eclipse

Я использую regex для соответствия всем незаключенным в кавычки именам свойства в моих json файлах. Eclipse не имеет никакой проблемы при нахождении желаемых соответствий, но когда я хочу заменить совпавшие строки "$2", Я получаю эту ошибку: Match string has changed in file filename.json. Match skipped

Вот regex, который я использую:

((\w+)\s*(?!['"])(?=:))

Какая-либо идея о том, как работать вокруг этой проблемы?

9
задан Imran 3 April 2010 в 08:24
поделиться

2 ответа

Похоже, проблема связана с инструментом, а не с регулярным выражением, но я не знаком с Eclipse, поэтому не могу быть более конкретным. Можно ли было ожидать \ 2 вместо $ 2 ?

Предполагая, что имена свойств совпадают с \ w + , это регулярное выражение должно работать нормально, хотя отрицательный просмотр вперед избыточный. Если следующий символ - двоеточие - (? =:) - то, конечно, это не апостроф или кавычка - (?! ['"]) .

1
ответ дан 4 December 2019 в 15:13
поделиться
Другие вопросы по тегам:

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