Java正则表达式 - 字符“(”和“)”匹配模式“[\\ p {Alpha}' - ,。]”

时间:2014-06-23 04:18:03

标签: java regex pattern-matching match

我一直想知道为什么字符"("")"与模式"[\\p{Alpha} '-,.]"匹配。
请看看我的代码。方法matches将为true"("字符返回")"
另外,如果我试图匹配我的模式,还有其他字符会返回true吗?

import java.util.regex.Pattern;
public class Main {
    public static void main(String[] args) {
        String pattern = "[\\p{Alpha} '-,.]";
        //String text = "(";
        String text = ")";
        System.out.print(Pattern.matches(pattern, text));
    }
}

2 个答案:

答案 0 :(得分:3)

这是因为'-,被解释为范围并且相当于'()*+,,尝试转义减去字符"[\\p{Alpha} '\\-,.]"

答案 1 :(得分:0)

只需双击)符号

即可
import java.util.regex.Pattern;
public class Main {
    public static void main(String[] args) {
        String pattern = "[\\p{Alpha} '-,.]";
        //String text = "(";
        String text = "\\)";
        System.out.print(Pattern.matches(pattern, text));
    }
}