Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试匹配正则表达式时发生异常_Java_Regex - Fatal编程技术网

Java 尝试匹配正则表达式时发生异常

Java 尝试匹配正则表达式时发生异常,java,regex,Java,Regex,我不是正则表达式专家,只是想调试一些失败的jUnit代码 如果我是对的,这就是我们要传递的信息: ##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element"> 比你强 您可以尝试: pattern = Pattern.compile("((Description=\"[^\"]*\")>)"); 在您的情况下,您可以使用以下内容来匹配字符串: Pattern pattern = Pattern.compile(".*

我不是正则表达式专家,只是想调试一些失败的jUnit代码

如果我是对的,这就是我们要传递的信息:

##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));