0
我想要替换文件中的字符串,当我看到hostName=some_word
我想用some_other_word
替换它,但我使用的零宽度负向lookbehind正则表达式似乎在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
好吧,是的,这绝对是这个问题,谢谢!讨厌java文档在分组之前没有提到有关运行find()命令的任何信息 – sreya 2014-10-01 16:29:24
@sreya他们做**:D请参阅我的答案中的编辑。 – Mena 2014-10-01 16:30:57
是的,我是一个白痴 – sreya 2014-10-01 16:32:41