输入 :
<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
. 模式匹配器找不到匹配的标签。我是正则表达式的初学者,我想知道问题的正确模式。任何帮助表示赞赏。