Der Interpreter für Reguläre Ausdrücke basiert auf den Regulären Ausdrücken der ICU.
Beispiele für Suchen mit Regulären Ausdrücken:
Die nachfolgende Tabelle listet alle Metazeichen, die an den verschiedenen Stellen in PDF Nomad genutzt werden können, wo Reguläre Ausdrücke unterstützt werden.
Character | Description |
---|---|
\a | Findet das Zeichen BELL, \u0007 |
\A | Findet etwas am Anfang des Suchtextes. Im Unterschied zu ^ findet \A nichts nach einem Zeilenumbruch innerhalb des Suchtextes. |
\b, außerhalb eines [Set] | Gilt als Treffer, wenn die aktuelle Position eine Wort-Grenze ist. Wort-Grenzen treten an den Übergängen zwischen Wort- (\w) und Nicht-Wort-Zeichen (\W) auf, wobei Kombinationsmarken ignoriert werden. |
\b, innerhalb eines [Set] | Findet das Zeichen BACKSPACE, \u0008. |
\B | Gilt als Treffer, wenn die aktuelle Position keine Wort-Grenze ist. |
\cX | Findet ein control-X-Zeichen. |
\d | Findet ein beliebiges Zeichen mit der "Unicode General Category" von Nd (Nummer, Dezimalziffer.) |
\D | Findet ein beliebiges Zeichen, das keine Dezimalziffer ist. |
\e | Findet das Zeichen ESCAPE, \u001B. |
\E | Beendet eine mit \Q ... \E geschützte Zeichenfolge. |
\f | Findet das Zeichen FORM FEED, \u000C. |
\G | Gilt als Treffer, wenn die aktuelle Position am Ende des vorigen Treffers ist. |
\n | Findet das Zeichen LINE FEED, \u000A. |
\N{UNICODE-ZEICHENNAME} | Findet das benannte Zeichen. |
\p{UNICODE-EIGENSCHAFTSNAME} | Findet ein beliebiges Zeichen mit der angegebenen Unicode-Eigenschaft. |
\P{UNICODE-EIGENSCHAFTSNAME} | Findet ein beliebiges Zeichen, das die angegebene Unicode-Eigenschaft nicht hat. |
\Q | Schützt alle folgenden Zeichen, bis \E folgt. |
\r | Findet das Zeichen CARRIAGE RETURN, \u000D. |
\s | Findet ein beliebiges Leerzeichen. Leerzeichen sind definiert als [\t\n\f\r\p{Z}]. |
\S | Findet ein beliebiges Zeichen, das kein Leerzeichen ist. |
\t | Findet das Zeichen HORIZONTAL TABULATION, \u0009. |
\uhhhh | Findet das Zeichen mit dem Hex-Wert hhhh. |
\Uhhhhhhhh | Findet das Zeichen mit dem Hex-Wert hhhhhhhh. müssen exakt acht Hex-Zeichen angegeben werden, auch wenn der höchste Unicode-Codewert momentan erst \U0010ffff ist. |
\w | Findet ein Wort-Zeichen. Wort-Zeichen sind [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}]. |
\W | Findet ein Nicht-Wort-Zeichen. |
\x{hhhh} | Findet das Zeichen mit dem aus zwei Hex-Zeichen bestehenden Hex-Wert hhhh. Ein bis sechs Hex-Zeichen können hierbei angegeben werden. |
\xhh | Findet das Zeichen mit dem aus zwei Hex-Zeichen bestehenden Hex-Wert hh |
\X | Findet einen Grapheme Cluster (also ein sichtbares Schriftzeichen nach Unicode-Definition). |
\Z | Gilt als Treffer, wenn die aktuelle Position am Ende des Suchtextes ist, aber noch vor dem letzten Zeilenende, falls eines vorhanden ist. |
\z | Gilt als Treffer, wenn die aktuelle Position am Ende des Suchtextes ist. |
\n | Rückbezug auf den Suche-Ausdruck. Übernimmt alles, was in der n. Suchgruppe gefunden wurde. n muss eine Ziffer > 1 und < der Gesamtanzahl der Gruppen im Pattern sein. |
\0ooo | Findet ein oktales Zeichen. 'ooo' ist ein bis drei Oktalziffern lang. 0377 ist das höchste erlaubte Oktalzeichen. Die führende Null ist erforderlich; dadurch können Oktalwerte von Rückbezügen unterschieden werden. |
[pattern] | Findet beliebige Zeichen des Sets. In UnicodeSet ist definiert, was im Pattern vorkommen darf |
. | Findet irgendein Zeichen. |
^ | Findet etwas am Anfang einer Zeile. |
$ | Findet etwas am Ende einer Zeile. |
\ | Schützt das folgende Zeichen. Die Zeichen, die geschützt werden müssen, damit sie als solche erkannt werden, sind * ? + [ ( ) { } ^ $ | \ . |
Operator | Description |
---|---|
| | Alternanz. A|B findet entweder A oder B. |
* | Findet 0 oder mehr Treffer, vorzugsweise möglichst viele. |
+ | Findet 1 oder mehr Treffer, vorzugsweise möglichst viele. |
? | Findet 0 oder mehr Treffer, vorzugsweise möglichst 1. |
{n} | Findet exakt n Treffer. |
{n,} | Findet mindestens n Treffer, vorzugsweise möglichst viele. |
{n,m} | Findet zwischen n und m Treffer, vorzugsweise möglichst viele, aber nicht mehr als m. |
*? | Findet 0 oder mehr Treffer, vorzugsweise möglichst wenige. |
+? | Findet 1 oder mehr Treffer, vorzugsweise möglichst wenige. |
?? | Findet 0 oder mehr Treffer, vorzugsweise möglichst 0. |
{n}? | Findet exakt n Treffer |
{n,}? | Findet mindestens n Treffer, aber nicht mehr als nötig, damit der gesamte Reguläre Ausdruck passt |
{n,m}? | Findet zwischen n und m Treffer, vorzugsweise möglichst wenige, aber nicht weniger als n. |
*+ | Findet 0 oder mehr Treffer, vorzugsweise möglichst viele nach dem ersten Treffer, wobei nicht weitergesucht werden soll, wenn weniger gefunden wurden, selbst wenn der gesamte Reguläre Ausdruck dann nicht passt (Possessive Match) |
++ | Findet 1 oder mehr Treffer. Possessive match. |
?+ | Findet 0 oder 1 Treffer. Possessive match. |
{n}+ | Findet exakt n Treffer |
{n,}+ | Findet mindestens n Treffer. Possessive Match. |
{n,m}+ | Findet zwischen n und m Treffer. Possessive Match. |
( ... ) | Gruppenklammern. Der gefundene Inhalt aus dem in Klammern befindlichen Ausdruck kann beim Ersetzen benutzt (eingefügt) werden.. |
(?: ... ) | Nicht-gruppierende Klammern. Gruppiert die eingeschlossenen Ausdrücke, deren Suchergebnisse allerdings nicht weiter benutzt werden können. Arbeiten daher etwas schneller als Gruppenklammern. |
(?> ... ) | Atomic-Treffer Klammern. Nur der erste Treffer des Ausdrucks in der Klammer wird benutzt; wenn dadurch nicht der gesamte Reguläre Ausdruck gültig wird, sucht die Routine vor der Position des "(?>" |
(?# ... ) | Kommentar (?# Kommentar ). |
(?= ... ) | Vorausschau-Annahme. Wahr, wenn der Ausdruck in Klammern an der aktuellen Suchposition gültig ist, wobei die Suchposition nicht verändert wird. |
(?! ... ) | Negative Vorausschau-Annahme. Wahr, wenn der Ausdruck in Klammern an der aktuellen Suchposition nicht gültig ist, wobei die Suchposition nicht verändert wird. |
(?<= ... ) | Rückschau-Annahme. Wahr, wenn der Ausdruck in Klammern auf Text passt, der vor der aktuellen Suchposition liegt, wobei das letzte Zeichen des Suchtreffers das Zeichen direkt vor der aktuellen Suchposition sein muss. Die Suchposition wird nicht verändert. Die Länge der möglichen Treffertexte dieses Ausdrucks dürfen nicht begrenzt werden (also keine *- oder +-Operatoren verwenden.) |
(?<! ... ) | Negative Rückschau-Annahme. Wahr, wenn der Ausdruck in Klammern nicht auf Text passt, der vor der aktuellen Suchposition liegt,wobei das letzte Zeichen des Suchtreffers das Zeichen direkt vor der aktuellen Suchposition sein muss. Die Suchposition wird nicht verändert. Die Länge der möglichen Treffertexte dieses Ausdrucks dürfen nicht begrenzt werden (also keine *- oder +-Operatoren verwenden.) |
(?ismwx-ismwx: ... ) | Schalter-Einstellungen. Der in Klammern stehende Ausdruck wird mit ein- bzw. ausgeschalteten Schaltern geprüft. |
(?ismwx-ismwx) | Schalter-Einstellungen. Ändert die Schalter-Einstellungen. Die Änderungen werden nach dem Einfügen der Einstellungsänderung wirksam. Beispiel: (?i) ändert die Suche so, dass Groß-/Kleinschreibung nicht mehr beachtet wird. |
Der Ersetzen-Text für Suchen-&-Ersetzen-Operationen kann Referenzen auf gefundene Textteile enthalten. Diese Referenzen haben das Format $n, wobei n die Nummer der Suchgruppe ist.
Character | Descriptions |
---|---|
$n | Der Text der Suchgruppe n wird an der Position von $n eingefügt. muss >= 0 sein, aber nicht größer als die Gesamtzahl der Suchgruppen. Wenn einem $ keine Ziffer folgt, hat es keine besondere Bedeutung und wird ganz normal als $ wiedergegeben. |
\ | Behandelt das nachfolgende Zeichen wörtlich, ohne spezielle Bedeutung. Der Schutz von Zeichen mit einem Rückwärts-Schrägstrich (Backslash) im Ersetzen-Text wird nur für die Zeichen '$' und '\' benötigt, führt aber bei anderen Zeichen nicht zu Problemen. |
Weitere Informationen über Reguläre Ausdrücke nach ICU finden Sie hier: ICU REgular Expressions User Guide