Я не собственный английский и таким образом, я не понимаю хорошо, что значение 'разновидности' может быть им, упомянут regex синтаксис?? и раз так сколько regex синтаксис там?
BRE ДО Perl и т.д.??
Термин «разновидность» относится к механизму регулярных выражений - синтаксису и дополнительным свойствам, поддерживаемым конкретным механизмом регулярных выражений.
Класс Pattern
документирует свойства механизма регулярных выражений Java .
Помимо основных вещей, таких как значение метасимволов, различные реализации механизмов регулярных выражений поддерживают разные типы синтаксиса.
Например:
[: digit:]
для цифр (то же самое, что [0-9]
); \ d
ярлык для цифр; Существует множество различных вариаций того, какие функции реализует механизм regex, какую технику он использует "под капотом" и какой синтаксис он использует для определенных функций.
На сайте regular-expressions.info есть очень хорошая статья и сравнительная таблица.
Пакет Java regex реализует "Perl-подобный" механизм регулярных выражений, но имеет некоторые дополнительные возможности, такие как притяжательные квантификаторы (.*+
) и утверждения lookbehind переменной длины (но конечные)). С другой стороны, в нем отсутствуют некоторые возможности Perl, а именно условные выражения или комментарии. В целом, это очень полнофункциональная реализация.
"Вкус" в данном контексте - это особый синтаксис, как вы догадались. Их много; их перечисление было бы лишь академическим занятием.
Чтобы найти те, которые обычно используются, посмотрите на формы, принятые grep
.
Java может использовать любой синтаксис, который имеет реализацию в Java.
Хороший обзор можно найти здесь: Сравнение движков регулярных выражений