我想在Java中使用模式和匹配器搜索字符串中的元素。在Java中使用模式和匹配器搜索字符串中的元素
我有一個節點variant-items,需要獲取所有在這些節點之間的字符。 我試過下面的正則表達式,但它完全跳過了這一行。 但是,如果我在記事本++中使用相同的正則表達式搜索,我正在得到所需的結果選定。請指教。
<variant-items>((.|\n)*)</variant-items>
下面是我的實行
String patternSourceComponent = "<variant-items>((.|\n)*)</variant-items>";
String result=this.isMatched(patternSourceComponent, xml);
public String isMatched(String patternSourceComponent,String xml)
{
String varientItem="";
try{ Pattern patternComponent = Pattern.compile(patternSourceComponent);
Matcher matcherComponent = patternComponent.matcher(xml);
System.out.println("matcherComponent Find : "+matcherComponent.find());
while (matcherComponent.find()) {
varientItem=matcherComponent.group(0).trim();
System.out.println("varientItem : "+varientItem);
} }
catch (Exception e)
{
System.out.println("Exception : "+e);
}
return varientItem;
}
在java中使用'\'時需要轉義某些字符 – Sanjeev
不應該使用正則表達式解析XML(http://stackoverflow.com/a/1758162/896588),請使用正確的XML而不是像JDOM那樣的解析器。 –