I need to find a regular expression for use in C# (JavaScript as well), for get the text inside the either square brackets combination.
I try several ways, but I give up
If you prefer to use a regular expression, the following will work.
\[([^[\]]+)\]
See Live Demo
Consider replacing those characters instead of trying to match between them.
String input = @"[[[text]]]]]]]]]]]]]";
String output = Regex.Replace(input, @"[[\]]", "");
Console.WriteLine(output); //=> "text"
This will exclude the square brackets:
((?!\[)(?!\]).)+
Demo
Explanation
This matches everything except square brackets: [^\[\]]+
This captures anything that is not a square bracket between any number of open (LHS) and close (RHS) square brackets:
\[+([^\[\]]+)\]+
Example usage in Javascript:
'[[[[[test]]]]'.match(/\[+([^\[\]]+)\]+/)
> ["[[[[[test]]]]", "test"]
The regex tester at http://regexpal.com/ is useful for trying out regexes.
Try this
This matches everything except square brackets:
\[([^\[\]]+)\]
Output
text
text
tex