ОБНОВЛЕНИЕ - если вы хотите совпадать только с тем, что есть в [[]]
и не включает |TEXT
, если оно есть, попробуйте это:
([^|\[]+?)(?=(?:\]\]|\|))
Что более или менее является вашим начальным регулярным выражением, но останавливается на |
или ]]
.
Или, если ваш regex-фреймворк поддерживает просмотр, вы можете сделать следующее:
((?<=\[\[)([^\|]+?)(?=(?:\]\]|\|))
Это только означает, что вы соответствуете с [[
и далее. Не совсем необходимо, но немного более неизвестно с контентом.