Как я могу использовать одно и то же регулярное выражение на разных языках программирования?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу использовать одно и то же регулярное выражение на разных языках программирования?

Сообщение Anonymous »

Я видел этот вопрос и по опыту знаю, что каждый язык поддерживает свой диалект регулярных выражений. Я полагаю, что проблема существует уже давно, поэтому кто-то, должно быть, хотел что-то с ней сделать.

У меня довольно большой проект, включающий JavaScript, Ruby и Java, и все они должны использовать одни и те же регулярные выражения. Мы выбрали Java в качестве нашего «официального» интерпретатора RE, а это означает, что каждый раз, когда двум другим языкам необходимо оценить RE, им приходится каким-то образом передавать его в программу Java, и это начинает приводить к большим накладным расходам.

Если бы я мог выбрать любой диалект RE и вызвать его хотя бы наполовину из всех языков, это было бы для нас огромным шагом вперед. Возможно ли это? Это уже делается? Мы рассмотрели PCRE, и технически его можно вызвать через собственные привязки из Java и Ruby (хотя это оставляет JS в стороне), но я не нашел никого, кто действительно это делал. Мы одни?

ETA: недостаток, о котором я не упомянул, заключается в том, что эта система применяет заданное пользователем регулярное выражение. (Да, я понимаю, что это проблема безопасности и т. д., но она предназначена для внутреннего использования доверенными, назначенными пользователями.) Я, конечно, могу предложить составить список мощных функций, которых следует избегать, но я надеюсь, что это не лучшее решение.

Подробнее здесь: https://stackoverflow.com/questions/859 ... -languages
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»