Java 尝试匹配正则表达式时发生异常
我不是正则表达式专家,只是想调试一些失败的jUnit代码 如果我是对的,这就是我们要传递的信息:Java 尝试匹配正则表达式时发生异常,java,regex,Java,Regex,我不是正则表达式专家,只是想调试一些失败的jUnit代码 如果我是对的,这就是我们要传递的信息: ##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element"> 比你强 您可以尝试: pattern = Pattern.compile("((Description=\"[^\"]*\")>)"); 在您的情况下,您可以使用以下内容来匹配字符串: Pattern pattern = Pattern.compile(".*
##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element">
比你强 您可以尝试:
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));
Pattern=Pattern.compile(“.*(Description=\”[^\“]*\”>”);
Matcher Matcher=pattern.Matcher(“##ALT=”);
matcher.matches();
系统输出println(匹配器组(1));
这将打印出来:
Description=“删除ALU元素”
您的正则表达式打开2(
只关闭1)
。这是不完整的。您必须关闭正则表达式中的组定义,因为它可能会失败,并出现解析异常。谢谢,请您进一步解释一下这一个与旧的有什么区别,以及缺少了什么?第一个转义字符用于Java,第二个转义字符用于转义正则表达式的引号类似于“
的xlook将在regexp中按字面意思理解,这一个肯定是:[^”]
,不应该转义。“
在java正则表达式中不是特殊字符,在regexp@FranciscoSpaeth:谢谢,但我试过了,仍然说指数26附近的未关闭组你说的regex将抛出异常是什么意思?谢谢,修复会像Francisco建议的那样吗?啊,我明白了。。。那么,我是否应该在我们已有的“)”旁边再加一个“)”呢?
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));