如果有内括号,我怎样才能将几个括号内的内容与正则表达式匹配?

时间:2016-03-30 14:56:21

标签: java regex

我想解决的问题如下: 我有这个字符串作为输入:

Hello World:[[DATA。[field]]]其他

我想要抓住的小组是:

DATA [字段]

问题在于我想抓住里面的东西" [["和"]]"。

我应该在Java中使用什么样的正则表达式? 谢谢

1 个答案:

答案 0 :(得分:1)

尝试以下正则表达式:

(?<=\[\[).*?(?=\]\](\s|$))

示例:

String text = "Hello World: [[DATA.[field]]] something else";

Pattern regex = Pattern.compile("(?<=\\[\\[).*?(?=\\]\\](\\s|$))", Pattern.MULTILINE);
Matcher regexMatcher = regex.matcher(text);

if (regexMatcher.find()) {
    System.out.println(regexMatcher.group());
}

从样本数据字符串开始,它将打印

DATA.[field]