Регулярное выражение, которое бесконечно повторяет две группы захвата (или помещает или между двумя группами захвата) - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь захватить эту строку с помощью регулярного выражения:

'здесь случайные слова [[слово | другой бит]] больше случайных слов [[другое слово | другое]] больше случайных слов |'

Важно то, что он заканчивается на '|'. Так что любой '|' внутри регулярного выражения должно быть в пределах [[]]. Я построил регулярное выражение, которое захватывает '[[слово | другой бит]]', но проблема в том, что эту группу нужно повторять бесконечно, со случайными словами между группами сопоставлений. Могу ли я использовать группы захвата или между ними?

Like ((случайное регулярное выражение слов) | ([[]] regex)) *

? похоже, не работает.

1 Ответ

0 голосов
/ 06 августа 2020

Я не уверен, что понял все случаи, но следующее регулярное выражение работает для вашего примера, представленного в Javascript:

/\[.*?\|.*?]]/g

Вам нужно экранировать специальные символы с помощью обратного sla sh . Проверьте https://regex101.com/r/YgWrnM/1 для более подробной информации

...