我写了一个匹配器以匹配以下文本。
<TD><P>xyz... </P><P>Oiuye </P><P>Oture, </P><P>Option</P></TD><TD><P> EUR 0.20 </P></TD><Span></Span>
<TD><P>Foriegn </P></TD><TD><P> EUR 0.30 </P></TD><Span></Span>
我要使用的模式是:
Pattern p = Pattern.compile("\\</TD\\>\\<TD\\>\\<P\\>(.*?)\\</P\\>");Matcher m_Fee_1 = p_Fee_1.matcher(row_xml);
m_Fee_1.find();
String Contract_Fee_Temp = m_Fee_1.group(1).trim();
我需要收取0.20欧元和0.30欧元。
我的控制台显示EUR 0.20 EUR 0.30
并引发错误,找不到匹配项。为什么会这样?如果我只捕获该异常并获取数据就可以了吗?还是应该如何处理?
我想您错误地使用了匹配器:
String[] str = new String[]{"<TD><P>xyz... </P><P>Oiuye </P><P>Oture, </P><P>Option</P></TD><TD><P> EUR 0.20 </P></TD><Span></Span> ", "<TD><P>Foriegn </P></TD><TD><P> EUR 0.30 </P></TD><Span></Span>"};
Pattern p = Pattern.compile("\\</TD\\>\\<TD\\>\\<P\\>(.*?)\\</P\\>");
for (String st : str) {
Matcher m = p.matcher(st);
while (m.find()) {
System.out.println(m.group(1));
}
}
产量:
EUR 0.20
EUR 0.30
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句