# Regex

<figure class="tabelle" id="bkmrk-tab.-4.1%3A-steuerzeic"><figcaption class="tabelletitel"><span class="tabellenr">[Tab. 4.1](#RFREF100021): </span>Steuerzeichen für reguläre Ausdrücke zum Suchen in Strings </figcaption><table class="textanordnung" style="width: 100%;"><thead><tr><th style="vertical-align: top; text-align: left; border: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Steuerzeichen

</th><th style="vertical-align: top; text-align: left; border: none; border-top: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Beispiel

</th><th style="vertical-align: top; text-align: left; border: none; border-top: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Beschreibung

</th></tr></thead><tbody><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">$

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">in$

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation des Dollarzeichens am Ende eines Suchstrings führt zu Treffern in allen Strings, wo diese Textpassage **am Ende** vorkommt. Beispielsweise in den Strings *"in"*, *"kein"* oder *"worin"*.

Aber nicht in den Strings *"innen"* oder *"alleine"*, denn hier steht *"in"* nicht am Ende.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">.

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">.in

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation eines Punktes fordert an der Stelle vor dem Suchbegriff mindestens ein beliebiges Zeichen. Notieren Sie einen Punkt, muss vor dem Suchbegriff mindestens ein anderes Zeichen in dem durchsuchten Ausdruck stehen. Notieren Sie zwei Punkte, müssen mindestens zwei beliebige Zeichen dort vorhanden sein und so fort.

Die Suche nach<span class="programm"> ...in </span>führt beispielsweise zu Treffern in *"alleine"* und *"worin"*. Aber nicht in den Strings *"innen"* oder *"in"*.

Achtung <span class="linlib">–</span> wenn Sie explizit einen Punkt an einer bestimmten Stelle fordern, müssen Sie ihn maskieren (<span class="programm">\\.</span>).

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\.

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">/w\\./d

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">An der Stelle muss explizit ein Punkt stehen. In dem Beispiel muss an der zweiten Stelle des Pattern ein Punkt stehen.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\b

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\bin

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation von<span class="programm"> \\b </span>(achten Sie auf die Kleinschreibung) sucht den vorangestellten oder den nachfolgenden Suchstring an einer Wortgrenze. Vorangestellt muss der Suchstring am Anfang eines Worts stehen (die Suche nach <span class="programm">\\bin </span>führt beispielsweise zu Treffern in *"innen"* und *"in"*, jedoch nicht in den Strings *"alleine"* oder *"worin"*) und nachgestellt am Ende.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\B

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">in\\B

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation von<span class="programm"> \\B </span>(achten Sie auf die Großschreibung) sucht den vorangestellten oder nachfolgenden Suchstring und führt zu einem Treffer, wenn dieser **nicht** an der entsprechenden **Wortgrenze** steht. Vorangestellt darf der Suchstring nicht am Anfang eines Worts stehen (die Suche nach<span class="programm"> \\Bin </span>führt beispielsweise zu **keinen** Treffern in *"innen"* und *"in"*, jedoch in den Strings *"alleine"* oder *"worin"* <span class="linlib">–</span> an der hinteren Wortgrenze kann der Suchbegriff stehen) und nachgestellt zu keinen Treffern am Ende eines Worts.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\d

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\d

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation von<span class="programm"> \\d </span>(achten Sie auf die Kleinschreibung) sucht nach einer beliebigen **ganzen Zahl**. Das ist äquivalent zu der Angabe<span class="programm"> \[0-9\]</span>.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\D

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\D

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation von<span class="programm"> \\D </span>(achten Sie auf die Großschreibung) sucht ein beliebiges Zeichen, das **keine** Ziffer ist.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\f

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\f

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Sie können in regulären Ausdrücken nach den auch in HTML oder JavaScript üblichen Maskierungen für Sonderzeichen suchen. Diese Sequenz führt zur Suche nach einem **Seitenvorschub**.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\n

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\n

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Eine übliche Maskierung für Sonderzeichen. Diese Sequenz führt zur Suche nach einem **Zeilenvorschubzeichen**.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\r

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\r

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Eine übliche Maskierung für Sonderzeichen. Diese Sequenz führt zur Suche nach einem **Wagenrücklaufzeichen**.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\s

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\s

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation von<span class="programm"> \\s </span>(achten Sie auf die Kleinschreibung) führt zu Treffern in allen Strings, wo irgendeine Art von **White Space** vorkommt. Das sind Leerzeichen und alle maskierten Sequenzen für diese Zeichen (also Seitenvorschub, Zeilenschaltung, Tabulator und vertikaler Tabulator -<span class="programm"> \\f</span>,<span class="programm"> \\n</span>,<span class="programm"> \\t </span>und<span class="programm"> \\v</span>).

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\S

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\S

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation von<span class="programm"> \\S </span>(achten Sie auf die Großschreibung) sucht nach einem beliebigen Zeichen, das **kein White Space** ist.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\t

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\t

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Eine übliche Maskierung für Sonderzeichen. Diese Sequenz führt zur Suche nach einem Tabulator.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\v

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\v

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Eine übliche Maskierung für Sonderzeichen. Diese Sequenz führt zur Suche nach einem vertikalen Tabulator.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\w

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\w

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation von<span class="programm"> \\w </span>(achten Sie auf die Kleinschreibung) führt zu Treffern bei allen **alphanumerischen Zeichen** und dem Unterstrich.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\W

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">\\W

</td><td style="vertical-align: top; text-align: left; border: none; border-right: 1px solid #0070B8; border-bottom: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation von<span class="programm"> \\W </span>(achten Sie auf die Großschreibung) führt zu Treffern bei allen Zeichen, die **keine alphanumerischen Zeichen** und nicht ein Unterstrich sind.

</td></tr><tr><td style="vertical-align: top; text-align: left; border: none; border-left: 1px solid #0070B8; border-bottom: 1px solid #0070B8; border-right: 1px solid #0070B8; padding: 2px 2px 2px 2px;">^

</td><td style="vertical-align: top; text-align: left; border: none; border-bottom: 1px solid #0070B8; border-right: 1px solid #0070B8; padding: 2px 2px 2px 2px;">^in

</td><td style="vertical-align: top; text-align: left; border: none; border-bottom: 1px solid #0070B8; border-right: 1px solid #0070B8; padding: 2px 2px 2px 2px;">Die Notation des<span class="programm"> ^</span>-Zeichens am Anfang eines Suchstrings führt zu Treffern in allen Strings, wo diese Textpassage am Anfang vorkommt. Beispielsweise in *"in"* oder *"innen"*. Aber nicht in den Strings *"kein"*, *"alleine"* oder *"worin"*, denn hier steht *"in"* nicht am Anfang.

</td></tr></tbody></table>

Hier sind die Steuerzeichen für reguläre Ausdrücke aus deiner Tabelle, einfach erklärt und mit Beispielen versehen:

1\. \*\*`^`\*\* (Caret / Zirkumflex)  
 \* \*\*Erklärung:\*\* Sucht nach dem Muster am \*\*Anfang\*\* eines Strings oder einer Zeile.  
 \* \*\*Beispiel:\*\* `^in` findet "\*\*in\*\*nen", aber nicht "alle\*\*in\*\*s".

2\. \*\*`$`\*\* (Dollarzeichen)  
 \* \*\*Erklärung:\*\* Sucht nach dem Muster am \*\*Ende\*\* eines Strings oder einer Zeile.  
 \* \*\*Beispiel:\*\* `ins$` findet "alle\*\*ins\*\*", aber nicht "\*\*ins\*\*nen".

3\. \*\*`.`\*\* (Punkt)  
 \* \*\*Erklärung:\*\* Steht für \*\*ein beliebiges einzelnes Zeichen\*\* (außer Zeilenumbruch).  
 \* \*\*Beispiel:\*\* `.in` findet "a\*\*lin\*\*s" und "v\*\*orin\*\*", aber nicht "\*\*in\*\*nen" (da davor kein Zeichen steht).

4\. \*\*`\\.`\*\* (Maskierter Punkt)  
 \* \*\*Erklärung:\*\* Sucht nach einem \*\*echten Punktzeichen\*\*.  
 \* \*\*Beispiel:\*\* `\\.\\d` findet ".5" in einer Adresse wie "Musterstr. 5".

5\. \*\*`\\b`\*\* (Wortgrenze - klein)  
 \* \*\*Erklärung:\*\* Sucht nach der Wortgrenze (Anfang oder Ende eines Wortes, definiert durch `\\W`).  
 \* \*\*Beispiel:\*\* `\\bin` findet "\*\*in\*\*nen" (Wortanfang), findet aber nicht "alle\*\*in\*\*s".

6\. \*\*`\\B`\*\* (Keine Wortgrenze - groß)  
 \* \*\*Erklärung:\*\* Sucht nach einer Position, die \*\*keine\*\* Wortgrenze ist.  
 \* \*\*Beispiel:\*\* `\\Bin` findet "alle\*\*in\*\*s" (in der Wortmitte), findet aber nicht "\*\*in\*\*nen" am Wortanfang.

7\. \*\*`\\d`\*\* (Digit / Ziffer - klein)  
 \* \*\*Erklärung:\*\* Steht für \*\*eine beliebige Ziffer\*\* (0-9).  
 \* \*\*Beispiel:\*\* `\\d\\d` findet "23" in "abc23def".

8\. \*\*`\\D`\*\* (Nicht-Ziffer - groß)  
 \* \*\*Erklärung:\*\* Steht für \*\*ein beliebiges Zeichen, das keine Ziffer\*\* ist.  
 \* \*\*Beispiel:\*\* `\\D\\D` findet "ab" in "ab23cd".

9\. \*\*`\\f`\*\* (Form Feed / Seitenvorschub)  
 \* \*\*Erklärung:\*\* Sucht nach dem speziellen \*\*Seitenvorschub-Zeichen\*\*.

10\. \*\*`\\n`\*\* (Newline / Zeilenvorschub)  
 \* \*\*Erklärung:\*\* Sucht nach dem \*\*Zeilenvorschub-Zeichen\*\* (neue Zeile).

11\. \*\*`\\r`\*\* (Carriage Return / Wagenrücklauf)  
 \* \*\*Erklärung:\*\* Sucht nach dem \*\*Wagenrücklauf-Zeichen\*\*.

12\. \*\*`\\s`\*\* (Whitespace - klein)  
 \* \*\*Erklärung:\*\* Steht für \*\*ein beliebiges Leerzeichen\*\* (Space, Tab, Zeilenumbruch etc.).  
 \* \*\*Beispiel:\*\* `in\\s` findet "in " in "geh in das Haus".

13\. \*\*`\\S`\*\* (Nicht-Whitespace - groß)  
 \* \*\*Erklärung:\*\* Steht für \*\*ein beliebiges Zeichen, das kein Leerzeichen\*\* ist.  
 \* \*\*Beispiel:\*\* `\\S\\S` findet "ab" in "a b c".

14\. \*\*`\\t`\*\* (Tabulator)  
 \* \*\*Erklärung:\*\* Sucht nach dem \*\*Tabulator-Zeichen\*\*.

15\. \*\*`\\v`\*\* (Vertikaler Tabulator)  
 \* \*\*Erklärung:\*\* Sucht nach dem \*\*vertikalen Tabulator-Zeichen\*\*.

16\. \*\*`\\w`\*\* (Word character - klein)  
 \* \*\*Erklärung:\*\* Steht für \*\*ein "Wort"-Zeichen\*\* (Buchstabe, Ziffer, Unterstrich `\_`).  
 \* \*\*Beispiel:\*\* `\\w\\w` findet "ab", "12" oder "a\_".

17\. \*\*`\\W`\*\* (Nicht-Wort-Zeichen - groß)  
 \* \*\*Erklärung:\*\* Steht für \*\*ein beliebiges Zeichen, das KEIN "Wort"-Zeichen\*\* ist (z.B. Leerzeichen, Punkt, Ausrufezeichen).  
 \* \*\*Beispiel:\*\* `\\W` findet das Leerzeichen in "Hallo Welt".

\*\*Wichtiger Hinweis:\*\* Die genaue Bedeutung einiger Zeichen (z.B. `\\v`) kann je nach verwendeter Programmiersprache oder Tool leicht variieren. Diese Erklärungen gelten für den allgemeinen Standard.

</figure>