Требуется препроцессор для создания собственного синтаксиса регулярного выражения, основанного на синтаксисе RegExp и PCRE, чтобы его можно было проанализировать в синтаксисе PCRE. Пример в конце
Полагаю, мне нужен процессор регулярных выражений, который выводит древовидную структуру, представляющую регулярные выражения, поэтому я могу пройтись по дереву и заменить некоторые части, а затем скомпилировать его в строку регулярного выражения.
Но этот процессор должен иметь возможность добавлять собственный синтаксический анализ / обработку.
Есть ли такой процессор, уже сделанный кем-то? Я сделал один самостоятельно некоторое время назад, но искал более профессиональное решение.
Конечно, мы говорим о node.js / javascript
Да, node.js не поддерживает PCRE, но есть модуль npm для использования PCRE с node.js, он прекрасно работает!
Зачем кому-то это нужно?
Например, вы можете создать большое регулярное выражение меньшими:
(John (like|love)s every (animal|creature) on earth: (#animals))
(# ...) - группа хэш-тегов, значит вместо нее будет другое регулярное выражение, содержащее альтернативы для всех животных.
Другой пример, вы можете создавать более сложные виды групп:
(@(a|x)(b)(c))
группа перестановок соответствует всем скобкам (3 или менее или более) в любом порядке:
(a|x)(b)(c)
(a|x)(c)(b)
(b)(a|x)(c)
(b)(c)(a|x)
(c)(a|x)(b)
(c)(b)(a|x)
есть больше, но я думаю, что сделал точку.