Java代碼:Java的正則表達式:字邊界匹配器在一個字符串
import java.util.regex.*;
class Test {
public static void main(String[] args) {
String r = "\\bdog\\b";
Pattern p = Pattern.compile(r);
String text = "abc dog def";
System.out.println(p.matcher(text).matches());
}
}
等效Perl代碼:
$x = "abc dog def";
if ($x =~ /\bdog\b/) {
print "matches";
}
Perl代碼的行爲與預期,並打印字符串 「abc狗DEF」匹配給定的正則表達式。另一方面,Java代碼表示該字符串與正則表達式不匹配。我正在犯一些愚蠢的錯誤?有趣的是,如果我在cmd行上輸入正則表達式(不是字符串文字),如Oracle Docs所示,那麼它就可以正常工作。
'在Java中匹配的手段匹配整個字符串,'謝謝! – Cheeso