Regular expression to match text between either square or curly brackets

regex

Solution

Simply or (`|`) the different things you wish to match together:

`\[.*?\]|\{.*?\}`

Problem

Related to my previous question, I have a string on the following format: ``` this {is} a [sample] string with [some] {special} words. [another one] ``` What is the regular expression to extract the words within either square or curly brackets, ie. ``` {is} [sample] [some] {special} [another one] ``` Note: In my use case, brackets cannot be nested. I would also like to keep the enclosing characters, so that I can tell the difference between them when processing the results.

Original source

Related problems