Regex:Java在xml标记之间提取内容

Regex:Java在xml标记之间提取内容,java,regex,xml,Java,Regex,Xml,我有一个xml字符串 <client>12345abcde</client> 我想使用正则表达式来提取客户端标记和存储在变量中之间的内容。目前我有 Matcher m = Pattern.compile("(.*)<client>(.*)</client>(.*)").matcher("<client>12345abcde</client>"); m.matches(); String value = m.g

我有一个xml字符串

<client>12345abcde</client>
我想使用正则表达式来提取客户端标记和存储在变量中之间的内容。目前我有

Matcher m = Pattern.compile("(.*)<client>(.*)</client>(.*)").matcher("<client>12345abcde</client>"); 
    m.matches(); 

String value = m.group(2);

但这似乎不起作用。

有什么理由不使用XML解析器(一种专门为此而设计的工具)来完成这项工作吗?据我所知,您无法使用正则表达式解析XML:
Matcher m =   Pattern.compile(".*<client>(.*)<\\/client>.*").matcher("<client>12345abcde</client>"); 
m.matches(); 

String value = m.group(2);