<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
使用'。*?'而不是'。*':*? - 不情願的版本,它儘可能少地匹配 –