Suchoperatoren in regulären Ausdrücken

 

Suchoperatoren-Index

Übereinstimmungen

Unterausdrücke

  * – keine oder mehrere
  + – eine oder mehrere
  ? – genau eine
  | – Oder-Operator
  ! – Nicht-Operator
  ^ – Zeilenbeginn
  $ – Zeilenende
  ^^ – Dateianfang
  $$ – Dateiende

  [] – Bereichs-Operator
  () – Unterausdruck
  +n – Spalten-Operator

 

Zusätzliche Informationen

   Hinweise zu Suchausdrücken
   Literale & Suchausdrücke

 

Verwandte Themen

   Übersicht der regulären Ausdrücke
   Ersetzungsoperatoren in regulären Ausdrücken
   Beispiele regulärer Ausdrücke
   Zähler in regulären Ausdrücken
   Besondere Ersetzungsoperatoren

 

Einige Hinweise zu Suchausdrücken:

·   Die folgenden Zeichen müssen ein \ -Zeichen vorangestellt bekommen, um als Literal (normales Zeichen) innerhalb einer Suche mit regulären Ausdrücken interpretiert zu werden:
    - + * ? ( ) [ ] \ | $ ^ !
Um beispielsweise nach dem \ -Zeichen zu suchen, muß es verdoppelt werden (\\), um bei Verwendung regulärer Ausdrücke als solches gefunden zu werden. Die weiteren Zeichen, die ein \ -Zeichen vorangestellt bekommen müssen, um als normales Zeichen interpretiert zu werden, werden ebenfalls weiter unten beschrieben. Beachten Sie bitte auch, daß die Literale in Ersetzungen mit regulären Ausdrücken einen andere Reihe von Zeichen beinhalten.

·   Es kann erwünscht sein, die “Maximale Größe regulärer Ausdrücke” in den Suchoptionen zu vergrößern, falls Sie eine Suche mit regulären Ausdrücken und darin enthaltenen Binärzeichen ausführen wollen, und/oder die Suche sehr komplex ist.

·   Bitte beachten Sie die Hinweise zu Word-Dokumenten zwecks wichtiger Informationen zu Suchen und Ersetzungen in Nicht-Textdateien wie z.B. Word-Dokumente, Word Perfect-Dokument, Tabellenkalkulationen, etc.

 


Such-/Kongruenz-Operatoren in regulären Ausdrücken

 

 

*

kein oder mehrere Zeichen: Übereinstimmung mit keinem oder mehreren Zeichen, die durch () oder [] eingeschlossen sind. * kann allein verwendet werden, auch wenn dessen Gebrauch in Verbindung mit Zeichenfolgen gedacht ist. Falls der * Operator allein eingegeben wird, werden alle Zeichen vom Beginn der Zeile bis zum Ende der Zeile für Übereinstimmungen herangezogen. Die Zahl der übereinstimmenden Zeichen zwischen zwei oder mehreren Zeichenfolgen kann bis zur maximalen Größe regulärer Ausdrücke reichen, und durch Angabe eines bestimmten Bereiches hinter dem * Operator eingegrenzt werden. Die Eingabe von mehreren Ausdrücken nacheinander, die * enthalten, sollte mit Vorsicht vorgenommen werden, um eine Überlappung von Zeichenfolgen zu vermeiden, was zu unvorhersehbaren Ergebnissen führen könnte.

 

*(is)
*[is]
Windows *[0-9]
Windows*[]95

Windows*[-ÿ]

Treffer:
Treffer:
Treffer:
Treffer:

Treffer:

is, Mississippi
Some, Expression, single
Windows 95, Windows 98
bis zu 4096 Zeichen (in mehreren Zeilen)
   zwischen Windows und 95
wie oben (ältere Syntax)

 

Hinweis: Wenn * mit einem numerischen Bereich und den Ersetzungsoperatoren %n>> oder %n>starting value> kombiniert wird, wäre der obige Suchausdruck Windows *[0-9] Teil eines regulären Zählerausdrucks.

 


+

ein oder mehrere Zeichen: Übereinstimmung mit einem oder mehreren eingeschlossenen Zeichen. + ist in Kombination mit () gedacht und Vorsicht ist geboten, wenn + allein gebraucht wird. Beispiele für Übereinstimmungen:

 

+(is)
w+e

Treffer:
Treffer:

is, Mississippi
wide, white, write jedoch nicht we

 


?

Einzelzeichen: Übereinstimmung mit genau einem beliebigen Zeichen entweder vor, hinter oder in einer Zeichenfolge. Falls mit () kombiniert, erzeugt ? genau einen Trefferausdruck, der durch () umschlossen ist. Der alleinige Gebrauch von ? erzeugt Treffer mit jedem Zeichen in einer Datei, einem nach dem anderen, und sollte daher vermieden werden.

 

?(is)
Win?95

Treffer:
Treffer:

is oder si
Win 95
, Win-95, Win/95

 


|

Oder-Operator: Übereinstimmung mit dem einfachen Ausdruck entweder vor oder hinter dem | Symbol. Es sollte in Verbindung mit () werden. Oder-Ausdrücke sollten keine anderen Operatoren wie z.B. *+^$? enthalten. Es können jedoch andere Operatoren außerhalb der () benutzt werden. Beispiele:

 

(01/|02/)+[0-9](/95|/98)
w*[a-z ](98|NT)\?

Treffer:
Treffer:

01/15/98 & 02/12/98 jedoch nicht 03/12/98
Windows 98?, Win NT?

 


!

Nicht-Operator: Ein Treffer tritt auf, falls sowohl eine ‘positive’ Trefferkomponente als auch eine !() oder ![] Komponente des Ausdrucks gefunden wird. Der komplette Ausdruck erfordert beide Komponenten. Die erste kann einfach ein einziger Operator sein, z.B. * oder ?. In den meisten Fällen sollten Sie irgendeinen Platzhalter vor der ! -Komponente angeben, wie in den untenstehenden Beispielen. Die ! -Komponente sollte durch () oder [] umschlossen sein. Zusätzlich zu findende positive Trefferzeichenfolgen und/oder reguläre Ausdrücke können hinter !() oder ![] angegeben werden. Beachten Sie jedoch, daß auf !() oder ![] folgende reguläre Ausdrücke nicht über die %n -Operatoren verfügbar sind. Siehe Änderungen des Nicht-Operators und Beispiele der alten Syntax für weitere Informationen. Be sure to nest ( ) when using |, e.g., ?!(a|b) won’t work – Use ?!((a|b)) instead. Siehe Nicht-Operator Hinweise für weitere Informationen.

 

?at!((b|c)at)
*file!(beg*file)
*98!(Windows 98)
*98!(+[a-z ]98)
a?b?c!(aub?c)!(a?bvc)

^*!(^t)!(</p>$)
#include*!()”C

findet
findet
findet
findet
findet

findet
findet

mat und sat, jedoch nicht ‘b’at oder ‘c’at
a file und this file, jedoch nicht ‘beginning of file’
98 in 1998, jedoch nicht in ‘Windows 98′
98 in 1998, jedoch nicht in ‘Windows 98′
In a search of ‘aXbYc’, find where X not ‘u’
   and Y not ‘v’
Lines that don’t begin w/ t or end with </p>
“ChildFrm.h” in “#include “ChildFrm.h”", findet jedoch nichts in “#include “Edit.h”". Dieses Beispiel
verwendet !() als eine Art UND-Operator.

 


^

Zeilenbeginn-Operator: Erzeugt Treffer mit Ausdrücken am Beginn einer Zeile. Kann mit anderen Platzhaltern und Unterausdruckoperatoren kombiniert werden. ^ sollte jedoch innerhalb von () Ausdrücken vermieden werden. Stattdessen *(\r)\n benutzen. Einige Beispiele mit ^:

Hinweis: Die Operatoren ^, $, ^^ und $$ werden in einem Ersetzungs -Ausdruck hinsichtlich %n mitgezählt. Beispielsweise sind in dem Suchausdruck l+[ls]$ die entsprechenden %n Ausdrücke: %1 = +[ls], %2= $.

 

^the

^(the|[a<])

Treffer:

Treffer:

the, The, THE, tHE am Beginn einer Zeile, keine
   Berücksichtigung der Schreibweise.
the in The opening paragraph…
A in At 5 pm …
< in <HR>

 


$

Zeilenende-Operator: Erzeugt Treffer mit Ausdrücken am Ende einer Zeile. Kann mit anderen Platzhaltern und Unterausdruckoperatoren kombiniert werden. $ sollte jedoch innerhalb von () Ausdrücken vermieden werden. Stattdessen *(\r)\n benutzen. Einige Beispiele mit $: Hinweis: Die Operatoren ^, $, ^^ und $$ werden in einem Ersetzungs -Ausdruck hinsichtlich %n mitgezählt. Beispielsweise sind in dem Suchausdruck l+[ls]$ die entsprechenden %n Ausdrücke: %1 = +[ls], %2= $.

 

ende$
(the end|of a line.)$

Treffer:
Treffer:

ende, jedoch nur am Zeilenende
the end in This is the end
of a line. in the end of a line.

 


^^

Dateianfang-Operator: Findet einen Ausdruck am Anfang einer Datei. Hinweis: Die Operatoren ^, $, ^^ und $$ werden in einem Ersetzungs -Ausdruck hinsichtlich %n mitgezählt. Beispielsweise sind in dem Suchausdruck l+[ls]$ die entsprechenden %n Ausdrücke: %1 = +[ls], %2= $.

 

^^First

^^+50[]

findet

findet

First in “First line of the file”, falls sich diese Zeichenfolge in der ersten Zeile einer Datei befindet.
die ersten 50 Zeichen in einer Datei.

 


$$

Dateiende-Operator: Findet einen Ausdruck am Ende einer Datei. Hinweis: Die Operatoren ^, $, ^^ und $$ werden in einem Ersetzungs -Ausdruck hinsichtlich %n mitgezählt. Beispielsweise sind in dem Suchausdruck l+[ls]$ die entsprechenden %n Ausdrücke: %1 = +[ls], %2= $.

 

*$$
<table*[]</table>*[]$$

findet
findet

die letzte Zeile in einer Datei.
das letzte “<table>” in einer HTML-Datei.

 


Suche mit regulären Ausdrücken – Unterausdruck-Operatoren

 

 

 

 

[ ]

Bereichs-Operator: Dies kann eine Liste von Einzelzeichen wie z.B. [dog] sein, ein oder mehrere Zeichenbereiche wie z.B. [d-o0-2], oder ein komplexerer Ausdruck mit anderen Operatoren oder Unterausdruck-Operatoren wie z.B. do[g|uble]. Bereichsangaben sind in der “a-z”-Notation erlaubt. Wenn allein eingegeben, erzeugt [] Treffer mit allen Zeichen in der Datei und entspricht ?[]. Wenn mit dem * -Operator kombiniert, wie z.B. in *[], werden Treffer erzeugt, die über eine oder mehrere Zeilen reichen können, und deren Größe die in den Programm-Optionen angegebene maximale Größe regulärer Ausdrücke nicht übersteigt. Benutzen Sie die ?*+ -Operatoren, um den Trefferbereich des [] -Unterausdrucks einzugrenzen. Es kann auch [a-zA-Z0-9\-_] eingegeben werden, d.h. mehrere Bereiche und der Bindestrich mit vorangestelltem \ -Zeichen. Beispiele:

 

t[]e
H*[]d
*[0-9]
+[niewW]
[a-z]

Treffer:
Treffer:
Treffer:
Treffer:
Treffer:

The, Toe
Hello (cr -lf) World über mehrere Zeilen hinweg
234907, 5795, oder ein Leerstring
eine oder mehrere Zeichenfolgen, z.B. Win, new, win
jede kleingeschriebene Zeichenfolge bei Berücksichtigung der Schreibweise, oder jedes Wort, falls Berücksichtigung der Schreibweise deaktiviert

 

Hinweis: Wenn [] mit einem Zahlenbereich, dem * -Operator, und dem Ersetzungsoperator %n>> oder %n>starting value> kombiniert wird, wäre ein Suchausdruck wie z.B. Windows *[0-9] Teil eines regulären Zählerausdrucks.

 


( )

Unterausdruck-Operator: Klammern werden zur Angabe eines oder mehrerer Unterausdrücke benutzt. Sie werden üblicherweise mit dem ODER-Operator | kombiniert. Beispiele:

 

Win( 95|dows 95)

Treffer:

Windows 95 und Win 95

 


+n

Zeichenzahl: Wird zur Angabe der Zeichenzahl vor oder hinter einem Ausdruck benutzt, die bei der Treffererzeugung berücksichtigt werden sollen. Die Angabe der Zeichenzahl kann mit einfachen Suchausdrücken wie z.B. +4The verwendet werden, oder in Kombination mit anderen Unterausdrücken, z.B. [] oder (). Es kann auch ein Zeichenzahl-Bereich angegeben werden, wie z.B. The+4-10. Beispiele:

 

+4[]w
w+2
[ ]+5-15[0-9.]

Treffer:
Treffer:
Treffer:

llo W in Hello World
Wor in Hello World
100.01, 123.9, & 543.21 in
   Data1 100.01 Somethin’
   Dat2 123.9 Nuthin’
   Dataa3 543.21 and junk

 


Reguläre Suchausdrücke – Besondere Literale

- + * ? ( ) [ ] \ | $ ^ !

Falls Sie nach einem dieser Zeichen suchen möchten, muß ihnen das \-Zeichen vorangestellt werden, um als normale Zeichen (Literale) innerhalb einer Suche interpretiert zu werden.

Suchoperatoren