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

Рейтинг: 0Ответов: 1Опубликовано: 22.03.2023

Все привет, не могу разобраться с регулярками, помогите пожалуйста. Написал такую: \[[\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]*?\]

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

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