我正在尝试从字符串的方括号中获取一个子字符串,我尝试了多个正则表达式,但没有任何效果。
我从多个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));
}
它应该返回“我想要的数据”,但表示没有找到任何模式。
答案 0 :(得分:0)
您需要转义[]
字符,以便将它们视为文字方括号。
使用它作为您的正则表达式应该起作用:\\[(.*?)\\]