我正在使用正则表达式匹配我的json文件中的所有非引用属性名称。 Eclipse在找到所需匹配项时没有问题,但是当我想用"$2"
替换匹配的字符串时,我收到此错误:Match string has changed in file filename.json. Match skipped
这是我正在使用的正则表达式:
((\w+)\s*(?!['"])(?=:))
有关如何解决此问题的任何想法?
答案 0 :(得分:11)
答案 1 :(得分:1)
这听起来像工具而不是正则表达式的问题,但我不熟悉Eclipse所以我不能更具体。可能期待\2
而不是$2
吗?
假设属性名称与\w+
匹配,那么正则表达式应该可以正常工作,尽管负前瞻是多余的。如果下一个字符是冒号 - (?=:)
- 当然它不是撇号或引号 - (?!['"])
。