What are the differences between perl and java reg

2019-01-12 09:08发布

问题:

What are the differences between perl and java with regard to what regular expression terms are supported?

This question is isolated to just the regular expressions, and specifically excludes differences in how regex can be used - ie the functions/methods available that use regex - and syntactic differences between the languages such as the java requirement to escape backslashes etc.

Of particular interest is the partial/occasional support java has for variable length look-behinds.

回答1:

The "Comparison to Perl 5" section of java.util.regex.Pattern lists many differences. For example, Java does not support conditional regex. For that, you need to use some external library like JRegex.



回答2:

There is a paragraph in java.util.regex.Pattern API "Comparison to Perl 5".



回答3:

The slides from Tom Christiansen's OSCON talk Unicode Support Shootout: The Good, the Bad, & the (mostly) ugly cover some of the differences between Perl and Java (and other languages) regarding support of the Unicode technical recommendations for regexes, and they distinguish between Java 1.6 and 1.7 (which improves support significantly).