正则表达:Matcher没有找到匹配

时间:2014-09-07 17:35:55

标签: java regex pattern-matching

我有以下代码

    String expression="a weird case of {asda}something";
    Pattern aPattern=Pattern.compile("\\{(.*?)\\}");
    Matcher matcher = aPattern.matcher(expression);
    boolean match = matcher.matches();

这将永远抛出

Exception in thread "main" java.lang.IllegalStateException: No match found

我不明白为什么它找不到匹配。输出应为{asda}。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

Matcher#matches()尝试匹配整个String。在您的情况下,您提供的正则表达式与整个表达式不匹配。你想要的是find(),可能还有group()来获得结果。