Wikipedia:AutoWikiBrowser/Reguläre Ausdrücke
Zur Navigation springen
Zur Suche springen
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.
Suchausdrücke (Pattern)
[Quelltext bearbeiten]Anker
[Quelltext bearbeiten]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 |
Zeichenklassen
[Quelltext bearbeiten]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
|
\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
[Quelltext bearbeiten]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}
|
Aufhebungszeichen (Escape)
[Quelltext bearbeiten]Code | Beschreibung | Beispiel |
---|---|---|
\ | Hebt die Wirkung des nachfolgenden Sonderzeichens auf | Sonderzeichen: =^{}[]#!/%&_:;.<>
|
Beispiele
[Quelltext bearbeiten]Sonderzeichen | Sonderzeichen aufgehoben |
---|---|
^
|
\^
|
$
|
\$
|
(
|
\(
|
)
|
\)
|
<
|
\<
|
.
|
\.
|
*
|
\*
|
+
|
\+
|
?
|
\?
|
[
|
\[
|
]
|
\]
|
{
|
\{
|
\
|
\\
|
|
|
\|
|
>
|
\>
|
Gruppierungen und Bereiche
[Quelltext bearbeiten]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) |
Ersetzungsausdrücke
[Quelltext bearbeiten]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
|
Beispiele
[Quelltext bearbeiten]Suchausdrücke
[Quelltext bearbeiten]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|\.|)
|
Voller oder abgekürzter Monatsname |
(\[\[([0-9]{1,2}\. (Januar|Februar|März
|
Link auf Tagesartikel von [[1. Januar]] bis [[31. Dezember]]
|
\[\[([1-9][0-9]{0,3} v\. Chr\.)\]\]
|
Link auf Jahresartikel v. Chr. |
Tipps und Tricks
[Quelltext bearbeiten]Einfache Suche
[Quelltext bearbeiten]Finde Artikel, Titel beginnt mit "A" Regex: ^A Finde Diskussionsseiten, Titel beginnt mit "B" Regex: ^Talk:B
Verwendung von Vorrausschau und Rückschau
[Quelltext 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
Spezielles
[Quelltext bearbeiten]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: \{\{([^{]|\{[^{]|\{\{[^{}]+\}\})+\}\}
normales Suchen
[Quelltext bearbeiten]Finde Wörter und Leerzeichen Regex: [\w\s]+
Finde Nicht-Wiki-Text Regex: [^][{}|<>']+
Finde geklammerte URLs Regex: \[(https?://[^][<>\s"]+) *((?<= )[^\n\]]*|)\]