我不是 RegEx 专家,只是想调试一些失败的 jUnit 代码。
因此,如果我是正确的,这就是我们要传递的内容:
##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element">
这是 regex 将引发异常的代码行,但对 RegEx 没有深入的了解,所以我想知道您是否发现此表达式有问题?
pattern = Pattern.compile("((Description=\"[^\"]*\")>");
比你。
您的正则表达式打开 2(
并仅关闭 1 )
。那是不完整的。您必须在您的正则表达式中关闭一个组定义,它可能会因解析异常而失败。
你可以试试:
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"