Welche Geschmacksrichtung der reguläre Ausdruck ist grep?
Ich vermute, es ist nicht ein Perl-Kompatiblen, Regulären Ausdruck, da es eine Besondere Art von grep
die speziell PCRE. Was grep
meisten ähnlich?
Gibt es irgendwelche besonderen Macken grep
dass ich wissen muss? (Ich bin verwendet, um Perl und die preg
Funktionen in PHP)
- boisenberry....
- Es ist erwähnenswert, dass grep (und seinen verschiedenen Aromen der regexs) vor perl und php, ein beachtlicher Zeitraum. Die Frage ist nicht "Warum nicht grep tun, was per nicht?", sondern "Warum hat perl wählen Sie etwas anderes zu tun, daß grep?".
Du musst angemeldet sein, um einen Kommentar abzugeben.
Standard-GNU -
grep
Verhalten ist, verwenden Sie eine leicht würzige Variante auf POSIX basic regular expressions, mit einem ähnlich Arten von POSIX-erweiterte reguläre Ausdrücke füregrep
(in der Regel akagrep -E
). POSIX-ERE-ist das, was PHPereg()
verwendet.GNU
grep
auch Ansprüche auf Unterstützunggrep -P
für PCRE, durch die Art und Weise. Also keine schrecklich besonderen Artgrep
erforderlich.grep
nur GNU BRE und der GNU-ERE. Denn laut regular-expressions.info/refflavors.html POSIX und POSIX BRE ERE nicht unterstützen\w
aber GNUgrep
tut.POSIX BRE (Basic Regular Expressions)
Vergleichen kann man die verschiedenen Aromen hier.
Gibt es eine gute write-up hier. Zitat der Seite "grep verwenden soll-Fasern, außer, dass grep -E verwendet EREs. (GNU grep passt einige Erweiterungen, in denen POSIX lässt sich das Verhalten nicht spezifiziert)."
In anderen Worten, es ist eine lange Geschichte. 😉
Der grep-man-Seiten zu tun, eine ziemlich Gründliche Arbeit zu erklären, die den Geschmack der regexp-erhältlich in grep.
man grep
ist ziemlich nützlich.Grep ist eine Implementierung des POSIX reguläre Ausdrücke. Es gibt zwei Arten von posix reguläre Ausdrücke-einfache reguläre Ausdrücke und erweiterte reguläre Ausdrücke. In grep, in der Regel verwenden Sie die option-E zu ermöglichen, erweiterte reguläre Ausdrücke.
Gibt es keine regelmäßigen grep-Funktion in PHP. Wenn Sie beziehen sich auf die ereg Familie von PHP-Funktionen, dann sind diese regulären POSIX-Ausdrücken. Wenn Sie beziehen sich auf die Linux -
grep
Kommandozeilen-utility, das sind Reguläre POSIX-Ausdrücke als gut. Es unterstützt sowohl Grundlagen -, als auch als erweiterten regulären POSIX-Ausdrücken.