0

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

因此,如果我是正确的,这就是我们要传递的内容:

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

这是 regex 将引发异常的代码行,但对 RegEx 没有深入的了解,所以我想知道您是否发现此表达式有问题?

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

比你。

4

2 回答 2

2

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

于 2012-07-30T20:28:35.260 回答
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"

于 2012-07-30T20:26:32.617 回答