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



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

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

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

首先,删除<ignore>标签内的所有内容:

   str = str.replaceAll("<ignore>((?!</ignore>).)*</ignore>", "");
之后,创建以下模式来查找括号内的所有内容:
   Matcher m = Pattern.compile("\[([^\[\]]*)\]").matcher(str);
   while (m.find()) {
    str = m.group(1);
    System.out.println(str);
   }

最新更新