Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 这个正则表达式没有';不适用于xml中的CDATA。我该如何解决这个问题?_Java_Xml_Regex - Fatal编程技术网

Java 这个正则表达式没有';不适用于xml中的CDATA。我该如何解决这个问题?

Java 这个正则表达式没有';不适用于xml中的CDATA。我该如何解决这个问题?,java,xml,regex,Java,Xml,Regex,我使用的是一个只允许正则表达式的外部API,我想解析来自xml标记的内容,比如alwin,我使用*?解析“alwin”。。它不起作用,但现在它的结构类似于alwin],我也希望能够解析CDATA。。我想提取[![CDATA[alwin请尝试以下模式: (*) \1子句以模式的第一个匹配组为目标,即([a-zA-Z]+)。因此,匹配的结束标记将始终与开始标记相同 标签的内容将在第二组中可用: Pattern p=Pattern.compile((*?); Matcher m=p.Matcher(

我使用的是一个只允许正则表达式的外部API,我想解析来自xml标记的内容,比如
alwin
,我使用
*?
解析“alwin”。。它不起作用,但现在它的结构类似于
alwin]
,我也希望能够解析CDATA。。我想提取
[![CDATA[alwin请尝试以下模式:

(*)
\1
子句以模式的第一个匹配组为目标,即
([a-zA-Z]+)
。因此,匹配的结束标记将始终与开始标记相同

标签的内容将在第二组中可用:

Pattern p=Pattern.compile((*?);
Matcher m=p.Matcher(“alwin]]”;
while(m.find()){
系统输出println(m.group(2));
}
上面的代码片段打印:

alwin]]

重复上述输出上的模式,以获得
alwin
部分。

请参见此方法将失败,因为它将使CDATA的外部与内部相匹配。即使忽略CDATA问题,通常嵌套的相同标记也会失败。