Можно ли реализовать регулярные выражения Perl в Java через существующую библиотеку? - PullRequest
4 голосов
/ 15 декабря 2009

Существует ли существующая надежная библиотека Java, которая реализует довольно существенное подмножество синтаксиса регулярных выражений Perl?

Справочная информация:

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

Хитрость в том, что проект, содержащий упомянутое переименование в качестве компонента, в настоящее время на 100% выполнен в Java в Windows.

ПРИМЕЧАНИЯ

Я оставляю в стороне очевидный обходной путь: «установите Strawberry Perl; напишите весь переименователь в Perl (или научите Perl разработчику, выполняющему кодирование на Java), передайте список файлов для переименования в сценарий переименования Perl с помощью системного вызова из Java "как слишком хитрый и слишком очевидный:)

Также, пожалуйста, не предлагайте сравнения того, как последний и лучший движок Java в RegEx уже достаточно хорош, чтобы делать большую часть того, что делает Perl RegEx - я достаточно осведомлен о его функциональности (и могу в Google); таким образом, я уже знаю, что это утверждение может быть даже правдой; однако это не имеет никакого отношения к моему интересу к тому, чтобы real Perl RegEx реализовал синтаксис в виде библиотеки Java.

Ответы [ 3 ]

7 голосов
/ 15 декабря 2009

Вы пробовали JRegex ? Он обладает совместимостью с Perl 5.6 и не беспокоится о прямом подключении PCRE.

5 голосов
/ 16 декабря 2009

Для максимальной совместимости с Perl вам необходимо использовать Perl. Вы можете сделать это с помощью Inline :: Java :: Callback , который распространяется как часть Inline :: Java модуля.

См. Также: Как я могу вызвать Perl из Java?

3 голосов
/ 16 декабря 2009

Библиотека, которую вы ищете - это библиотека Apache ORO , она специально реализована для обработки регулярных выражений Perl5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...