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)
|
|
|
\x nn
|
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.
|