Grep-Sonderzeichen für BBEdit

Die folgende Tabelle listet alle in BBEdit verwendbaren Grep-Sonderzeichen und erklärt ihre Bedeutung. Sie basiert in Auszügen auf Cari D. Burstein's exzellentem BBEdit Grep Tutorial (in Englisch).
 

Zeichen

Findet...

Version

Bemerkungen


. Jedes Zeichen außer Return   .+ findet alles zwischen Einfügemarke und Zeilenende
# Jedes numerische Zeichen   also jede Zahl: 0-9
^ Zeilenanfang   nur wenn ^ das erste Zeichen im Suchtext ist!
$ Zeilenende   nur wenn $ das letzte Zeichen im Suchtext ist!
| Trennt Suchtext-Alternativen   plaziert man | zwischen 2 Suchtexten, bedeutet dies, daß entweder der eine oder der andere Suchtext gefunden werden (nicht jedoch beide gleichzeitig)

x? Null oder ein x   das Vorkommen eines einzelnen x ist optional (wobei hier x stellvertretend für jedes beliebige Zeichen steht)
x* Null oder mehrere x   das Vorkommen eines oder mehrerer x ist optional
x+ Ein oder mehrere x   mindestens ein x oder mehrere aufeinander folgende x

(x) Speichert Klammerinhalt   runde Klammern definieren (max. 9) Unterelemente innerhalb des Suchtextes, die anschließend im Ersetzen-Text wieder aufgerufen werden können
\1, \2, ..., \9 Ruft Speicher 1, 2, ..., 9 ab   das erste, zweite, ..., neunte Unterelement des Suchergebnisses, welches im Suchtext durch ( ) eingeklammert war, kann im Ersetzen-Text wieder aufgerufen werden (nur im Ersetzen-Text verwendbar!)
& bzw. \0 Gesamtes Suchergebnis   setzt das gesamte Suchergebnis im Ersetzen-Text wieder ein (nur im Ersetzen-Text verwendbar!)

\r Zeilenschaltung (carriage return)   Eingabe im BBEdit-Suchdialog mittels Befehl-Return
\n "Unix-Return" (newline)   Findet eine Unix-Zeilenschaltung (line feed)
\t Tabulator (tab)   Eingabe im BBEdit-Suchdialog mittels Befehl-Tab
\f Seitenumbruch (form feed)    
\xnn Hexadezimaler Zeichencode nn 6.0 findet bzw. fügt das Zeichen mit dem hexadezimalen Zeichencode nn ein. Die jeweiligen hexadezimalen Zeichencodes (escape codes) kann man BBEdit's ASCII-Tabelle (Menü: "Windows > ASCII Table") entnehmen (wobei die letzten beiden Zeichen der "Escape"-Spalte für nn einzusetzen sind). Z.B. ist \x40 die hexadezimale Schreibweise für das Zeichen @

\s Jedes "Weißraumzeichen" 5.1 Leerzeichen, Tab, Return, "Unix-Return", Seitenumbruch
\S Jedes "Nicht-Weißraumzeichen" 5.1 das Gegenteil zu \s: alles außer Leerzeichen, Tab, Return, "Unix-Return" oder Seitenumbruch

\w Jedes "Wortzeichen" 5.1 generell Buchstaben und Zahlen: a-z, A-Z, 0-9, _ und alle 8-bit Zeichen (d.h. Zeichen > ASCII#127 wie z.B. Umlaute). \w+ findet Wörter: Jede Zeichenkette aus Buchstaben und Zahlen, die nicht durch andere Zeichen unterbrochen ist
\W Jedes "Nicht-Wortzeichen" 5.1 das Gegenteil zu \w: alles außer Buchstaben und Zahlen (findet auch Zeilenschaltungen!)

\d Jedes numerische Zeichen 5.1 also jede Zahl: 0-9 (entspricht #)
\D Jedes nicht-numerische Zeichen 5.1 das Gegenteil zu \d: alles außer den Zahlen 0-9 (findet auch Zeilenschaltungen!)

\l folgendes Zeichen -> klein 6.0 falls das folgende Zeichen großgeschrieben ist, wird es in sein kleingeschriebenes Pendant transformiert, also A zu a, B zu b, usw. (nur im Ersetzen-Text verwendbar!)
\u folgendes Zeichen -> groß 6.0 falls das folgende Zeichen kleingeschrieben ist, wird es in sein großgeschriebenes Pendant transformiert, also a zu A, b zu B, usw. (nur im Ersetzen-Text verwendbar!)
\L folgende Zeichenkette -> klein 6.0 alle auf \L folgenden Zeichen werden (bis zum Auftreten eines \E oder einer der anderen Groß-/Kleinschreibungsanweisungen \l, \u bzw. \U) zu Kleinbuchstaben transformiert (nur im Ersetzen-Text verwendbar!)
\U folgende Zeichenkette -> groß 6.0 alle auf \U folgenden Zeichen werden (bis zum Auftreten eines \E oder einer der anderen Groß-/Kleinschreibungsanweisungen \l, \u bzw. \L) zu Großbuchstaben transformiert (nur im Ersetzen-Text verwendbar!)
\E Schreibweise nicht ändern 6.0 hebt die Wirkung der Groß-/Kleinschreibungsanweisungen \L und \U wieder auf, so daß alle auf \E folgenden Zeichen wieder unverändert verwendet werden (nur im Ersetzen-Text verwendbar!)

\x "Normalisierungs-Zeichen"   Findet das Zeichen x solange x nicht eines der folgenden Grep-Sonderzeichen ist: 0-9, r, n, t, f, s, S, w, W, d, D. Der Backslash (Wahl-Shift-7) dient als "Normalisierungs Zeichen" für alle singulären Grep-Sonderzeichen. Dies sind im Suchtext: ., #, ^, $, |, ?, *, +, [, ], (, ) und \ sowie im Ersetzen-Text: & und \. Z.B. findet \# das wirkliche Vorkommen von # und nicht eine Zahl

[xyz] Jedes der Zeichen x, y, z   Findet jedes in den eckigen Klammern enthaltene Zeichen (der Inhalt in [ ] beschreibt jeweils ein einzelnes Zeichen!)
[^xyz] Jedes Zeichen außer x, y, z   Findet jedes Zeichen, das nicht in [ ] enthalten ist. Das Caret-Zeichen hat innerhalb von [ ] eine Sonderbedeutung: anstatt "Zeilenanfang" bedeutet es "Alles außer". Beachte: Die Sonderzeichen ., #, $ und | verlieren innerhalb [ ] ihre besondere Bedeutung, nicht jedoch \r, \n, \t, \f, \s, \S, \w, \W, \d und \D!
[a-z] Jedes Zeichen im Bereich a bis z   Findet alle Buchstaben von a bis z. Der Bindestrich hat innerhalb von [ ] eine Sonderbedeutung: er gibt einen Bereich an ("von... bis..."). BBEdit's ASCII-Tabelle (Menü: "Windows > ASCII Table") hilft bei der Frage, welche Zeichen denn nun von einer spezifizierten Bereichsangabe gefunden werden

 

Beispiele für den Gebrauch von eckigen Klammern:


[aeiou] Jeder Vokal   Findet jeden Buchstaben, der ein Vokal ist
[^aeiou] Jeder "Nicht-Vokal"   Findet jedes Zeichen, das nicht ein Vokal ist
[a-zA-Z0-9] Jedes alphanumerische Zeichen   Ähnelt \w, doch im Gegensatz zu \w werden nicht _ und 8-bit Zeichen gefunden!
[^aeiou0-9] Alles außer Vokalen oder Zahlen   Jedes Zeichen, daß nicht ein Vokal oder eine Zahl ist

[ ]0-9] ] oder Zahlen   Soll das wirkliche Vorkommen von ] gefunden werden, wird es innerhalb von [ ] an den Anfang gestellt
[^-z] Jedes Zeichen im Bereich ^ bis z   Findet alle Zeichen von ^ bis z (ASCII#94 bis ASCII#122)
[aeiou^] Jeder Vokal oder ^   Soll das wirkliche Vorkommen von ^ gefunden werden, wird es innerhalb von [ ] ans Ende gestellt
[--A] Jedes Zeichen im Bereich - bis A   Findet alle Zeichen von - bis A (ASCII#45 bis ASCII#65). Damit zwischen X und x unterschieden wird, muß im Suchdialog "case sensitive" angekreuzt sein!
[aeiou-] Jeder Vokal oder -   Soll das wirkliche Vorkommen von - gefunden werden, wird es innerhalb von [ ] ans Ende gestellt
[-A-Z] - oder jedes Zeichen von A bis Z   Soll das wirkliche Vorkommen von - gefunden werden, kann es alternativ auch am Anfang stehen, wenn keine Bereichsangabe (wie bei [--A]) folgt. Damit zwischen X und x unterschieden wird, muß im Suchdialog "case sensitive" angekreuzt sein!

[^{]+ Jedes Zeichen außer {   Dieses Hilfskonstrukt findet jede Zeichenkette (inklusive Zeilenschaltungen!), die nicht durch { unterbrochen ist. Dies ist hilfreich, wenn man über Zeilenenden hinaus suchen will! Anstelle von { läßt sich jedes andere Zeichen benutzen, von dem man sicher weiß, daß es nicht im Dokument (bzw. im gewünschten Suchbereich) vorkommt.

 


Contact: Matthias Steffens  |  Main  |  Last Updated: 07-Jan-01