Eclipse中的替换问题

时间:2010-04-03 08:16:55

标签: regex eclipse grep replace

我正在使用正则表达式匹配我的json文件中的所有非引用属性名称。 Eclipse在找到所需匹配项时没有问题,但是当我想用"$2"替换匹配的字符串时,我收到此错误:Match string has changed in file filename.json. Match skipped

这是我正在使用的正则表达式:

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

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:11)

答案 1 :(得分:1)

这听起来像工具而不是正则表达式的问题,但我不熟悉Eclipse所以我不能更具体。可能期待\2而不是$2吗?

假设属性名称与\w+匹配,那么正则表达式应该可以正常工作,尽管负前瞻是多余的。如果下一个字符是冒号 - (?=:) - 当然它不是撇号或引号 - (?!['"])