I'm not a native English and so I don't understand well the meaning of 'flavor' may be is it referred to a regex syntax?? and if so how many regex syntax are there?
BRE ERE Perl etc.??
There are many different variations of what features a regex engine implements, what technique it uses "under the hood" and what syntax it uses for certain features.
There is a very good article and comparison table at regular-expressions.info .
The Java regex package implements a "Perl-like" regular expressions engine, but it has some extra features like possessive quantifiers ( .*+
) and variable-length (but finite) lookbehind assertions). On the other hand, it misses a few features Perl has, namely conditional expressions or comments. All in all, it's a very full-featured implementation.
The term "flavor" refers to the regex engine – the syntax and additional properties supported by the particular regex engine.
The Pattern
class documents the properties of the Java regex engine . Aside from the basic things like the meaning of metacharacters, different implementations of regex engines support different types of syntaxes.
For example:
[:digit:]
for digits (same as [0-9]
); \\d
shortcut for digits; Java使用Perl之类的reg-ex语法
在这里可以找到一个很好的概述: 正则表达式引擎的比较 。
A "flavor" in this context is a particular syntax, as you have surmised. There are many; counting them would be only an academic endeavor.
To find the ones that are generally used, look at the forms accepted by grep
.
Java may use whatever syntax has a Java implementation.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.