我有一个标记文件,可能有以下记录#
<test> <code> abcd </code> </test>
<test> efgh </test>
如何一次提取一个测试标签...这意味着我想在上述两种情况下提取测试标签,无论是否只有内容或其他嵌套标签......
答案 0 :(得分:1)
尝试
Pattern regex = Pattern.compile("<test>(.*?)</test>", Pattern.DOTALL);
但是,如果<test>
标签本身可以嵌套(<test> ... <test>...</test> ... </test>
),则会失败。
?
使前面的*
量词懒惰,i。即它将匹配尽可能少的字符,因此一次只匹配一个标记。
答案 1 :(得分:0)
尝试使用正则表达式:
"\\bstart-tag:test\\s+(.*?)\\s+end-tag:test\\b"
重要的一点是?
在这里意味着匹配不应该是贪婪的,否则它可以捕获多个标签。