在java中“[[]]”中提取文本

时间:2014-01-30 23:02:52

标签: java regex

我有一个字符串,其中包含括号内的文本。我需要使用Java提取“[[]]”括号内的文本。此外,还有多次出现“[[]]”括号。我想从所有这些文本中提取文本。

例如:

    String text = "[[test]] {{test1}} [[test2]]"; 

预期产出: 测试 TEST2

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:5)

这是一个简单的正则表达式匹配:

Pattern p = Pattern.compile("\\[\\[.*?\\]\\]");

使用MatcherlookingAt()方法获取结果。

要删除“[[”和“]]”之后,只需添加String#replace()

答案 1 :(得分:2)

你可以用这个:

String text = "[[test]] {{test1}} [[test2]]";
Pattern p = Pattern.compile("\\[\\[(.*?)]]", Pattern.DOTALL);
Matcher m = p.matcher(text); 
while (m.find()) {
    System.out.print(m.group(1));
}