Reputation: 33
How could I find string between [[
]]
? After searching a answer I find this method below, but I cannot find the regular expression for [[
]]
, neither for {{
}}
.
What I want to do is to find e.g. [[abc]]XXXXXXXXXX[[def]]
, and save abc
, def
as a ArrayList.
String s = "[[abc]]XXXXXXXXXX[[def]]";
Pattern p = Pattern.compile("[[(.*?)]]")
Matcher m = p.matcher(s);
if (m.find()) {
System.out.println(m.group(i)); // => "abc","def"
}
Upvotes: 3
Views: 149
Reputation: 89574
You must double escape the opening square brackets (you can do the same with the closing) since they are used to define character classes:
Pattern p = Pattern.compile("\\[\\[(.*?)]]");
(exactly the same with curly braces, that are used for quantifiers)
You can read this fabulous post about the incredible world of square brackets.
Upvotes: 4