Regex XML正则表达式
我试图构建一个正则表达式,它将与包含一些未编码数据的XML元素的内容相匹配。例如:Regex XML正则表达式,regex,Regex,我试图构建一个正则表达式,它将与包含一些未编码数据的XML元素的内容相匹配。例如: <myElement><![CDATA[<p>The <a href="http://blah"> draft </p>]]></myElement> 草案]> 通常在这种情况下,我会使用 [^<]* 请不要这样做,但您可能正在寻找: <myElement>(.*?)</myElement> (*) 如
<myElement><![CDATA[<p>The <a href="http://blah"> draft </p>]]></myElement>
草案]>
通常在这种情况下,我会使用
[^<]*
请不要这样做,但您可能正在寻找:
<myElement>(.*?)</myElement>
(*)
如果CDATA中可能出现
(或结束标记),则此选项不起作用。如果XML格式不正确,则此选项不起作用。它也不适用于嵌套的
s。列表还在继续
正确的解决方案是使用真正的XML解析器
您的[^()]*
正则表达式说:匹配集合(
,中不存在的任意数量的字符。请不要这样做,但您可能正在寻找:
<myElement>(.*?)</myElement>
(*)
如果CDATA中可能出现
(或结束标记),则此选项不起作用。如果XML格式不正确,则此选项不起作用。它也不适用于嵌套的
s。列表还在继续
正确的解决方案是使用真正的XML解析器
您的[^()]*
正则表达式说:匹配集合(
,中未包含的任意数量的字符如果您是逐行执行此操作,则如果您的示例:
>(.*)</
(*)草稿]>
可能是这样使用的:
subjectString = '<myElement><![CDATA[<p>The <a href="http://blah"> draft </p>]]></myElement>';
Matcher regexMatcher = subjectString =~ ">(.*)</"
if (regexMatcher.find()) {
String ResultString = regexMatcher.group();
}
subjectString='草案]]>;
Matcher regexMatcher=subjectString=~“>(.*)如果您是逐行执行此操作,那么如果您的示例:
>(.*)</
(*)草稿]>
可能是这样使用的:
subjectString = '<myElement><![CDATA[<p>The <a href="http://blah"> draft </p>]]></myElement>';
Matcher regexMatcher = subjectString =~ ">(.*)</"
if (regexMatcher.find()) {
String ResultString = regexMatcher.group();
}
subjectString='草案]]>;
Matcher regexMatcher=subjectString=~“>(*)等等…哈哈,谢谢BoltClock…“要求正则表达式解析任意HTML就像要求Paris Hilton编写操作系统”等等…哈哈,谢谢BoltClock…“要求正则表达式解析任意HTML就像要求Paris Hilton编写操作系统”