<tag>Testing different formatting options in </tag><tag class="classA classB">Text</tag><tag class="classC">Class C text</tag>
预期输出:
<tag>Testing different formatting options in </tag><tagA><tabB>Text</tagA></tagB><tagC>Class C text</tag>
基本上标签通过基于在 “类” 的属性的标签替换。 。即,如果属性具有CLASSA属性,则标签将通过TAGA代替,如果CLASSB属性也出现,则标签也将包括TAGB等..
尝试制成:
final String TAG_GROUPS = "<tag class=\"(.*)\">(.*)</tag>";
Pattern pattern = Pattern.compile(TAG_GROUPS);
Matcher matcher = pattern.matcher(inputString);
我收到的输出无法找到匹配的标签。特别是声明
String classes = matcher.group(1);
给出字符串classA classB">Text</tag><tag class="classC">Class C text</tag
。模式匹配器无法找到匹配的标签。我是正则表达式的初学者,我想知道问题的正确模式。任何帮助表示赞赏。
使用正则表达式解析XML很棘手,因为这篇文章阐明了:http://stackoverflow.com/a/1732454/758446 – BlackVegetable
使用'。*?'而不是'。*':*? - 不情愿的版本,它尽可能少地匹配 –