Я видел этот вопрос и по опыту знаю, что каждый язык поддерживает свой диалект регулярных выражений. Я полагаю, что проблема существует уже давно, поэтому кто-то, должно быть, хотел что-то с ней сделать.
У меня довольно большой проект, включающий JavaScript, Ruby и Java, и все они должны использовать одни и те же регулярные выражения. Мы выбрали Java в качестве нашего «официального» интерпретатора RE, а это означает, что каждый раз, когда двум другим языкам необходимо оценить RE, им приходится каким-то образом передавать его в программу Java, и это начинает приводить к большим накладным расходам.
Если бы я мог выбрать любой диалект RE и вызвать его хотя бы наполовину из всех языков, это было бы для нас огромным шагом вперед. Возможно ли это? Это уже делается? Мы рассмотрели PCRE, и технически его можно вызвать через собственные привязки из Java и Ruby (хотя это оставляет JS в стороне), но я не нашел никого, кто действительно это делал. Мы одни?
ETA: недостаток, о котором я не упомянул, заключается в том, что эта система применяет заданное пользователем регулярное выражение. (Да, я понимаю, что это проблема безопасности и т. д., но она предназначена для внутреннего использования доверенными, назначенными пользователями.) Я, конечно, могу предложить составить список мощных функций, которых следует избегать, но я надеюсь, что это не лучшее решение.
Подробнее здесь: https://stackoverflow.com/questions/859 ... -languages