In der Regex-Welt, was ist ein Geschmack und welchen Geschmack verwendet Java?

8

Ich bin kein Engländer und verstehe die Bedeutung von "Geschmack" nicht gut kann sein, bezieht es sich auf eine Regex-Syntax? und wenn ja, wie viele Regex-Syntax gibt es?

BRE ERE Perl etc. ??

    
xdevel2000 12.07.2010, 06:30
quelle

6 Antworten

3
  • Flavor bezieht sich auf die Regex-Engine - die Syntax und zusätzliche Eigenschaften, die von der jeweiligen Regex-Engine unterstützt werden.
  • Pattern class dokumentiert die Eigenschaften der Java-Regex-Engine
  • Abgesehen von den grundlegenden Dingen wie der Bedeutung von Metazeichen, unterstützen verschiedene Implementierungen von Regex-Engines verschiedene Arten von Syntaxen. Beispielsweise
    • POSIX-Engines unterstützen [:digit:] für Ziffern (wie [0-9]
    • Perl-kompatible Engines unterstützen \d Verknüpfung für Ziffern.
    • JavaScript unterstützt keine Look-Behinds
    • PHP und einige andere unterstützen Look-Backs, benötigen aber eine feste Länge
    • Regex-Engines von Texteditoren (Notepad ++) unterstützen im Allgemeinen kein Umschauen.
Amarghosh 12.07.2010, 06:43
quelle
8

Es gibt viele verschiedene Variationen davon, welche Funktionen eine Regex-Engine implementiert, welche Technik sie "unter der Haube" verwendet und welche Syntax sie für bestimmte Funktionen verwendet.

Es gibt eine sehr gute Artikel- und Vergleichstabelle bei regular-expressions.info .

Das Java-Regex-Paket implementiert eine "Perl-artige" reguläre Ausdrücke-Engine, aber es hat einige zusätzliche Funktionen wie Possessiv-Quantoren ( .*+ ) und Length-Length-Assertionen (aber endlich). Auf der anderen Seite fehlen einige Funktionen von Perl, nämlich bedingte Ausdrücke oder Kommentare. Alles in allem ist es eine sehr umfassende Implementierung.

    
Tim Pietzcker 12.07.2010 06:32
quelle
2

Einen schönen Überblick finden Sie hier: Vergleich von Regular Expression Engines .

    
Andreas_D 12.07.2010 06:32
quelle
1

Java verwendet Perl wie die reg-ex-Syntax

    
Reddy 12.07.2010 06:31
quelle
1

Ein "Geschmack" in diesem Zusammenhang ist eine bestimmte Syntax, wie Sie vermutet haben. Da sind viele; sie zu zählen wäre nur ein akademisches Unterfangen.

Um herauszufinden, welche allgemein verwendet werden, sehen Sie sich die von grep akzeptierten Formulare an.

Java kann jede Syntax verwenden, die eine Java-Implementierung hat.

    
Borealid 12.07.2010 06:32
quelle
0

Regular-expression.info hat eine Seite über Geschmacksvergleiche.

    
Jens 12.07.2010 06:34
quelle

Tags und Links