我想在Java正則表達式中使用反向引用,但似乎我沒有按照正確的方式執行並且無法正常工作。我希望能夠匹配由2個相同引號包圍的字符串部分,比如說查找字符串是否包含"whatever"
或'whatever'
。匹配兩個相同字符之間的字符串
然後我寫了下面的代碼:
Pattern p = Pattern.compile("(\"|\')whatever\1");
Matcher m = p.matcher("'whatever'loremipsumblah");
System.out.println(m.find()); // always returns false
...但似乎後面引用不工作,因爲匹配找不到匹配的模式字符串的任何部分。我希望你們能夠幫助我,因爲我肯定會陷入困境:|
我忘了它,不知道爲什麼,認爲它會導致「\」字符後跟一個......感謝指出我的愚蠢! – 2009-09-30 00:30:29
與某些語言不同,Java會將String文字中的未知轉義視爲語法錯誤。所以字符串中的字符'\'必須總是被轉義。 – 2009-09-30 02:31:31