您可以使用匹配{[CONTAINER]}
和之间所有内容的正则表达式{[/CONTAINER]}
。例子:
// Non capturing open tag. Non-capturing mean it won't be included in result when we match it against some text.
String open = "(?<=\\{\\[CONTAINER\\]\\})";
// Content between open and close tag.
String inside = ".*?";
// Non capturing close tag.
String close = "(?=\\{\\[/CONTAINER\\]\\})";
// Final regex
String regex = open + inside + close;
String text = "<html>..."; // you string here
// Usage
Matcher matcher = Pattern.compile(regex, Pattern.DOTALL).matcher(text);
while (matcher.find()) {
String content = matcher.group().trim();
System.out.println(content);
}
但是你必须小心。因为它只适用于{[CONTAINER]}
和{[/CONTAINTER]}
。不支持此自定义标签的属性。
您还必须知道它不会以任何特定方式处理 html 标签。因此,如果您的标签之间有 htmlCONTENT
标签 - 它们将被包含在内。