我阅读了手册,最后有一个练习:
使用反向引用编写一个表达式,只匹配姓和名相同的人的名称。
我编写了下面的程序http://pastebin.com/YkuUuP5M
但是当我编译它时,出现了错误:
PersonName.java:18: illegal escape character
p = Pattern.compile("([A-Z][a-zA-Z]+)\s+\1");
^
如果我这样重写第18行:
pattern = Pattern.compile(console.readLine("%nEnter your regex: "));
当我将这个模式编写到控制台中时,程序可以正常工作。为什么我不能像第一个程序一样使用该模式?有没有办法解决这个问题?