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