尝试匹配RegEx时发生异常

时间:2012-07-30 20:25:51

标签: java regex

我不是RegEx专家,只是在调试一些失败的jUnit代码。

所以,如果我是正确的,这就是我们传递的内容:

##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element">

这是regex会引发异常的代码行,但是对RegEx没有深入的了解,所以我想知道你是否看到这个表达式有问题?

pattern = Pattern.compile("((Description=\"[^\"]*\")>");

比你。

2 个答案:

答案 0 :(得分:2)

您的正则表达式会打开2 (并仅关闭1 )。那是不完整的。您必须在正则表达式中关闭组定义,否则可能会因解析异常而失败。

答案 1 :(得分:0)

你可以尝试:

pattern = Pattern.compile("((Description=\"[^\"]*\")>)");

在你的情况下,你可以使用这样的东西来匹配你的字符串:

Pattern pattern = Pattern.compile(".*(Description=\"[^\"]*\")>");
Matcher matcher = pattern.matcher("##ALT=<ID=DEL:ME:ALU,Description=\"Deletion of ALU element\">");
matcher.matches();
System.out.println(matcher.group(1));

这将打印出来:Description="Deletion of ALU element"