Regular expression to extract text between square brackets
You can use the following regex globally:
\[(.*?)\]
Explanation:
-
\[
:[
is a meta char and needs to be escaped if you want to match it literally. -
(.*?)
: match everything in a non-greedy way and capture it. -
\]
:]
is a meta char and needs to be escaped if you want to match it literally.
(?<=\[).+?(?=\])
Will capture content without brackets
(?<=\[)
- positive lookbehind for[
.*?
- non greedy match for the content(?=\])
- positive lookahead for]
EDIT: for nested brackets the below regex should work:
(\[(?:\[??[^\[]*?\]))