Как перечислить следующие ожидаемые совпадения с регулярным выражением
Дано регулярное выражение, подобное этому:
(aaa)(bbb)*(ccc|ddd)
Есть ли способ перечислить все возможные значения, которые придут после токена (например, aaa
) и будет соответствовать регулярному выражению?
Конечно, здесь ответ ["bbb","ccc","ddd"]
но посмотрите на это как на общий вопрос.
Заметки:
- Вопрос не в том, как написать Regex.
- Regex используется только как инструкция для создания списка.
- Да! Вы правильно догадались: один из вариантов использования - завершение кода.
- Если это невозможно сделать (или слишком сложно) для полного набора Regex, давайте рассмотрим более простое подмножество, которое включает в себя только "круглые скобки ()", перераспределения "ноль или больше", "один или несколько +" и "или |"