in reply to Non Greedy?

Should

/\[{(.*)?}\](.+)/

not be

/\[{(.*?)}\](.+)/

With the question mark inside the brackets?