Java从方括号中获取子字符串

时间:2019-02-04 15:44:52

标签: java regex

我正在尝试从字符串的方括号中获取一个子字符串,我尝试了多个正则表达式,但没有任何效果。

我从多个stackoverflow帖子中尝试了多个正则表达式和代码,但无济于事。

String mydata = "some string with [the data i want] inside";
Pattern pattern = Pattern.compile("[(.*?)]");
Matcher matcher = pattern.matcher(mydata);
if (matcher.find())
{
    System.out.println(matcher.group(1));
    output = output.replace("%item%", matcher.group(1));
}

它应该返回“我想要的数据”,但表示没有找到任何模式。

1 个答案:

答案 0 :(得分:0)

您需要转义[]字符,以便将它们视为文字方括号。

使用它作为您的正则表达式应该起作用:\\[(.*?)\\]