【发布时间】:2014-10-02 00:28:04
【问题描述】:
我有要在文件中替换的字符串,当我看到 hostName=some_word 时,我想用 some_other_word 替换它,但我使用的零宽度负后向正则表达式似乎在 java 代码中失败,尽管工作当我在在线 Java 正则表达式测试器上对其进行测试时。
line = "hostName=testing"
Pattern host = Pattern.compile("(?<=hostName=).*");
Matcher match = host.matcher(line);
hostName = match.group(); //illegal state exception
line.replace(hostName,"new_name");
我在网上尝试了该正则表达式,它似乎工作正常:
链接:
http://ocpsoft.org/tutorials/regular-expressions/java-visual-regex-tester/#!;t=hostName%3Dtesting&r=(%3F%3C%3DhostName%3D).*&x=new_name
【问题讨论】: