В мире регулярных выражений, что такое аромат и какой аромат использует Java? - PullRequest
11 голосов
/ 12 июля 2010

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

BRE ERE Perl и т. Д .??

Ответы [ 5 ]

11 голосов
/ 12 июля 2010

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

Очень хорошая статья и таблица сравнения на регулярные выражения.info .

В пакете регулярных выражений Java реализован механизм регулярных выражений типа Perl, но он имеет некоторые дополнительные функции, такие как собственнические квантификаторы (.*+) и переменныедлина (но конечная) смотреть за утверждениями).С другой стороны, в нем отсутствуют некоторые функции Perl, а именно условные выражения или комментарии.В целом, это очень полнофункциональная реализация.

7 голосов
/ 12 июля 2010
  • Аромат относится к механизму регулярных выражений - синтаксис и дополнительные свойства, поддерживаемые конкретным механизмом регулярных выражений.
  • Pattern класс документирует свойства java regex engine
  • Помимо основных вещей, таких как значение метасимволов, различные реализации механизмов регулярных выражений поддерживают различные типы синтаксисов. Например
    • Механизмы POSIX поддерживают [:digit:] для цифр (аналогично [0-9]
    • Совместимые с Perl движки поддерживают \d ярлык для цифр.
    • JavaScript не поддерживает взгляды за спиной
    • PHP и некоторые другие поддерживают взгляды за спиной, но для них требуется фиксированная длина
    • Движки Regex текстовых редакторов (Notepad ++) обычно не поддерживают просмотр.
3 голосов
/ 12 июля 2010

Java использует Perl как синтаксис reg-ex

2 голосов
/ 12 июля 2010

Хороший обзор можно найти здесь: Сравнение двигателей регулярных выражений .

1 голос
/ 12 июля 2010

«Аромат» в этом контексте - это особый синтаксис, как вы уже догадались. Здесь очень много; считать их было бы только академическим усилием.

Чтобы найти те, которые обычно используются, посмотрите на формы, принятые grep.

Java может использовать любой синтаксис, имеющий реализацию Java.

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