在HTML标记之外的方括号之间查找文本

时间:2016-10-07 11:10:04

标签: java regex

我看到所有可能重复的问题,但他们没有解决我的问题。 例如,我有这样的文字:

This [is] a [text] in <ignore>square [brackets]</ignore>

我只需在<ignore></ignore>标记之外的方括号中找到文字。在这种情况下,这些字词为istext。 如何做到这一点(最好是使用Java Regex)?

1 个答案:

答案 0 :(得分:3)

首先,删除<ignore>代码中的所有内容:

   str = str.replaceAll("<ignore>((?!</ignore>).)*</ignore>", "");

之后,创建以下模式以查找括号内的所有内容:

   Matcher m = Pattern.compile("\\[([^\\[\\]]*)\\]").matcher(str);
   while (m.find()) {
    str = m.group(1);
    System.out.println(str);
   }