регулярные выражения python, выражения в скобках

Все привет, не могу разобраться с регулярками, помогите пожалуйста. Написал такую: \[[\s\S]+\|[\s\S]+\] и пример текста

[test|test2]some text [test3|test4] some text2

Проблема заключается в том, что мне нужно забрать только те выражения которые в квадратных скобках, а моя регулярка забирает и то что в скобках и то что между ними, т.е в примере он заберет [test|test2]some text [test3|test4] а нужно только [test|test2] и [test3|test4]


Ответы (1 шт):

Автор решения: Эникейщик
\[[\s\S]*?\]

? - квантифайер "ленивого" поиска. Ищет, до тех пор, пока условие не станет удовлетворено.

Простыми словами - с ? ищется самая короткая подходящая подстрока, без ? — самая длинная.

→ Ссылка