Zu regulären Ausdrücken allgemein siehe Regulärer Ausdruck.
Von den verschiedenen Systemen mit untereinander etwas abweichender Syntax verwendet der AWB fast ausschließlich das von .NET definierte.
Code
|
Anmerkungen
|
^
|
allgemein: Beginn einer Zeichenkette
|
beim AWB: Erstes Zeichen einer Seite
|
\A
|
allgemein: Beginn einer Zeichenkette
|
beim AWB: Erstes Zeichen einer Seite
|
$
|
allgemein: Ende einer Zeichenkette
|
beim AWB: Letztes Zeichen einer Seite
|
\Z
|
allgemein: Ende einer Zeichenkette
|
beim AWB: Letztes Zeichen einer Seite
|
\b
|
am Wortanfang
|
an Buchstabe, Zahl oder Unterstrich
|
\B
|
nicht am Wortanfang
|
nicht an Buchstabe, Zahl oder Unterstrich
|
Klasse
|
Beschreibung
|
Beispiel
|
\s
|
sogen. "Whitespace"
|
(Leerzeichen) (Tabulator) (Neuzeile) (Umbruch)
|
\S
|
Jedes "Nicht-Whitespace"
|
abcxyz_ABCXYZ$?!#%*@&;:.,+-=^"/<{[(~0123789 (u.s.w.)
|
\w
|
Jedes Wortzeichen (Buchstaben, Ziffern, Unterstrich)
|
abcdefghijklmnopqstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789_
|
\W
|
Jedes Nicht-Wortzeichen
|
$?!#%*@&;:.,+-±=^"`\|/<>{}[]()~(Whitespace)
|
\d
|
Jede Dezimalziffer
|
0123456789
|
\D
|
Jedes andere Zeichen außer einer Dezimalziffer
|
abcxyz_ABCXYZ$?!#%*@&;:.,+-=^"/<{[(~(Whitespace) (u.s.w.)
|
\x
|
Jede Hexadezimalziffer
|
0123456789abcdefABCDEF
|
\0
|
Jede Oktalziffer
|
01234567
|
\p{L}
|
Alle Unicodebuchstaben
|
AaÃãÂâĂăÄäÅå (u.s.w.)
|
\p{Ll}
|
All Unicode-Kleinbuchstaben
|
aãâăäå (u.s.w.)
|
\p{Lu}
|
All Unicode-Großbuchstaben
|
AÃÂĂÄÅ (u.s.w.)
|
\t
|
Steuerzeichen: horiz. Tabulator
|
ASCII-Code 0x09
|
\n
|
Steuerzeichen: Zeilenumbruch
|
ASCII-Code 0x0A
|
\r
|
Steuerzeichen: Wagenrücklaufzeichen
|
ASCII-Code 0x0D
|
\c
|
jedwedes Kontrollzeichen Ctrl-A bis Ctrl-Z
|
ASCII-Code 0x01 bis 0x1A
|
Quantifizierer geben an, wie oft eine Angabe davor auftauchen muss
Klasse
|
Beschreibung
|
Beispiel
|
{n}
|
genau n-mal
|
{3} ⇒ genau dreimal
|
{n,}
|
mind. n-mal
|
{3,} ⇒ mindestens dreimal
|
{n,m}
|
n- bis m-mal
|
{2,4} ⇒ zwei- bis viermal
|
*
|
keinmal oder öfters
|
entspricht {0,}
|
+
|
mindestens einmal
|
entspricht {1,}
|
?
|
keinmal oder einmal
|
entspricht {0,1}
|
Code
|
Beschreibung
|
Beispiel
|
\
|
Hebt die Wirkung des nachfolgenden Sonderzeichens auf
|
Sonderzeichen: =^{}[]#!/%&_:;.<>
|
Sonderzeichen
|
Sonderzeichen aufgehoben
|
^
|
\^
|
$
|
\$
|
(
|
\(
|
)
|
\)
|
<
|
\<
|
.
|
\.
|
*
|
\*
|
+
|
\+
|
?
|
\?
|
[
|
\[
|
]
|
\]
|
{
|
\{
|
\
|
\\
|
|
|
\|
|
>
|
\>
|
Bereiche sind Inklusivangaben.
Code
|
Beschreibung
|
Anmerkung
|
.
|
Jedes Zeichen außer Zeilenumbruch
|
|
|
|
Alternative. Findet entweder die linke oder die rechte Seite
|
ab|cd|ef ⇒ ab oder cd oder ef
|
[…]
|
Menge einzelner Zeichen
|
[def] ⇒ d oder e oder f
|
[^…]
|
Ausschlussmenge einzelner Zeichen (inkl. Neuzeile)
|
[^abc] ⇒ nicht a oder b oder c
|
[a-q]
|
Kleinbuchstabe zwischen a und q
|
Bereich von Kleinbuchstaben, hier z. B. a bis q.
|
[A-Q]
|
Großbuchstabe zwischen A und Q
|
Bereich von Großbuchstaben, hier z. B. A und Q
|
[0-7]
|
Ziffer zwischen 0 und 7
|
Zifferbereich, [0-9] entspricht \d
|
(…)
|
Gruppiert und markiert alles zwischen den Klammern (Markierung). Kann beim Ersetzen referenziert werden.
|
(abc) findet und markiert abc
|
(?<name>…)
|
gibt einer Markierung einen Namen
|
(?<Jahr>2016) markiert 2016 mit dem Namen Jahr.
|
(?:…)
|
Nicht-markierte Gruppe. Findet eine Gruppe, markiert diese aber nicht für eine Referenz
|
(?:abc) findet abc ohne Markierung für eine Referenz
|
…(?=…)
|
Positive Vorausschau. Findet einen Ausdruck nur, wenn ein anderer folgt.
|
abc(?=xyz) findet abc nur wenn xyz folgt.
|
(?!…)
|
Negative Vorausschau. Findet einen Ausdruck nur, wenn ein anderer nicht folgt.
|
abc(?=xyz) findet abc nur wenn xyz nicht folgt.
|
…(?<=…)
|
Positive Rückchau. Findet einen Ausdruck nur, wenn ein anderer davorliegt.
|
(?<=xyz)abc findet abc nur, wenn xyz davor ist.
|
…(?<=…)
|
Negative Rückchau. Findet einen Ausdruck nur, wenn ein anderer nicht davorliegt.
|
(?<=xyz)abc findet abc nur, wenn xyz nicht davor ist.
|
(?#…)
|
Kommentar
|
(?#Dies ist nur ein Kommentar)
|
Die im Suchausdruck erfolgten Markierungen können im Ersetzungsausdruck referenziert werden. andere angaben werden direkt eingefügt.
Mit $1, $2, $3 …
können die Markierungen in der Reihenfolge ihren Auftretens referenziert werden. Mit
${text} kann eine mit text benannte Markierung referenziert werden. Soll unmittelbar nach einer Referenz eine Ziffer folgen, so wird das mit geschweifter Klammer erreicht:
Code
|
Bedeutung
|
(Anton) (Peter) (Otto)
|
$1 referenziert Anton, $2 referenziert Peter und $3 referenziert Otto
|
(A) (B) (C) (D) (E) (F) (G) (H) (I) (J)
|
$10 ergibt J
|
(A) (B) (C) (D) (E) (F) (G) (H) (I) (J)
|
${1}0 ergibt A0
|
Ausdruck
|
findet
|
([A-Za-z0-9-]+)
|
ein- oder mehrmals Zeichen, welche buchstaben, Ziffern oder Minuszeichen sind.
|
(\d{1,2}\/\d{1,2}\/\d{4})
|
Datum wie z. B. 3/24/2008 oder 03/24/2008 oder 24/03/2008
|
\[\[\d{4}\]\]
|
Vierziffriger Wikilink (also einen Jahresartikel), z. B. [[2008]]
|
(Jan(?:uar|\.|)|Feb(?:ruar|\.|)|Mär(?:z|\.|) |Apr(?:il|\.|)|Mai\.?|Jun(?:i|\.|)|Jul(?:i|\.|) |Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|) |Okt(?:ober|\.|)|Nov(?:ember|\.|)|Dez(?:ember|\.|))
|
Voller oder abgekürzter Monatsname
|
(\[\[([0-9]{1,2}\. (Januar|Februar|März |April|Mai|Juni|Juli|August|September |Oktober|November|Dezember))\]\]
|
Link auf Tagesartikel von [[1. Januar]] bis [[31. Dezember]]
|
\[\[([1-9][0-9]{0,3} v\. Chr\.)\]\]
|
Link auf Jahresartikel v. Chr.
|
Finde Artikel, Titel beginnt mit "A"
Regex: ^A
Finde Diskussionsseiten, Titel beginnt mit "B"
Regex: ^Talk:B
Verwendung von Vorrausschau und Rückschau
Bearbeiten
Finde [Url] und [Url Titel]
Regex: \[*((?:\w+:)?\/\/[^<>\[\]\s"]+) *([^\n\]]+(?=\])|)\]+\s*
$1 enthält die Url.
$2 enthält den Titel ohne nachfolgendes ] or es ist leer
Finde in <ref></ref>
Regex: <ref[^>]*>([^<]|<[^/]|</[^r]|</r[^e]|</re[^f]|</ref[^>])+</ref>
Finde in <ref></ref> bei Verwendung einer (?! nicht finden) Notation
Regex: <ref[^>]*>([^<]|<(?!/ref>))+</ref>
Finde eine Vorlage{{...}} evtl. mit vorlagen darin, aber keine vorlagen darin:
Regex: \{\{([^{]|\{[^{]|\{\{[^{}]+\}\})+\}\}
Finde Wörter und Leerzeichen
Regex: [\w\s]+
Finde Nicht-Wiki-Text
Regex: [^][{}|<>']+
Finde geklammerte URLs
Regex: \[(https?://[^][<>\s"]+) *((?<= )[^\n\]]*|)\]