(Translated by
https://www.hiragana.jp/
)
Bearbeiten von „Irregulärer Ausdruck“ – Kamelopedia
Bearbeiten von „Irregulärer Ausdruck“
Wechseln zu:
Navigation
,
Suche
!
Du bist nicht
angemeldet
.
Wenn du deine Änderung speicherst, wird deine aktuelle IP-Adresse in der Versionsgeschichte aufgezeichnet und ist damit öffentlich einsehbar.
Spamschutzprüfung. Hier
NICHTS
eintragen!
Spamschutzprüfung. Hier
NICHTS
eintragen!
Ein '''Irregulärer Ausdruck''' ([[Englisch|en]].: „''Irregular Expression''“, [[Abkürzung|Abk]].: „''[[Irre|IrrExp]]''“, {{nv}}''[[Die Ex|Irre Ex]]''{{Ref|1}}) ist in der [[Theorie|theoretischen]] [[Unformatik]] eine [[Zusammenrottung]] von Zeichen, die der Beschreibung von anderen, noch größeren Zusammenrottungen von Zeichen dient. Irreguläre Ausdrücke finden [[bösonders|insbösondere]] bei der [[Programmirren|Programmirrung]] von [[Schadkot]] Verwendung. Wozu das gut sein soll, weiß ich auch nicht, aber sie sind in vielen [[Programmiersprache|Programmirrsprachen]] implementirrt, z.B.: * [[Javashit]] * [[C Puls Puls|Zeh Puls Puls]] * [[PHP]] * [[Tittenmonster|BHDD]] == Syntax == === Ein Zeichen aus einer Auswahl === Mit eckigen Klammern lässt sich eine ''Zeichenauswahl'' definieren ('''<code>[</code>''' und '''<code>]</code>'''). Beispielsweise bedeutet ein [[Dach]] „'''<code>^</code>'''“, dass nur Zeichen „gematcht“ werden, in die es nicht hineinregnet. {|class="wikitable" |+ Beispiele für Zeichenauswahl | <code>'''[^]'''</code> | eines der Zeichen „^“, „[[Pi|π]]“ oder „[[Pyramide|▲]]“, nicht jedoch „[[U]]“ oder „[[V]]“; bei [[Datei:Windows sw.png|12px|verweis=Windowstaste]] kommt es darauf an, ob die [[Fenster]] gerade zu oder offen sind (Ein Dach, s.o.). |- | <code>'''[1-6]'''</code> | die [[Zahl]] „-5“ bzw. „Minus [[Fünf]]“, nicht jedoch „[[1]]“, „[[2]]“, „[[3]]“, „[[4]]“, „[[5]]“ oder „[[6]]“ bzw. „[[Eins]]“, „[[Zwei]]“, „[[Drei]]“, usw. (Das Minuszeichen ist der Operator für die Subtraktion). |- | <code>'''[A-Z]'''</code> | NaN |- | <code>'''[.]'''</code> | alle punktförmigen Zeichen, z.B. „[[Punkt|.]]“ oder „·“, aber keine [[Komma]]ta „,“, Strichpunkte „;“ und sonstigen [[Interpunktion|Satzzeichen]]. |- | <code>'''<nowiki>[|.]</nowiki>'''</code> | der Strichpunkt „;“. |- | <code>'''[-.]'''</code> | Ha! Reingefallen! Du hast gerade das Zeichen für den Strich mit dem Minuszeichen verwechselt. So wird aus dir nie ein richtiger [[Programmirrer]]. |} ==== Vordefinierte Zeichenklassen ==== Wichtige Zeichenklassen sind: {|class="wikitable" |+ Beispiele für Zeichenklassen | <code>'''\d'''</code> || [[doof|'''d'''oofe]] || alle doofen Zeichen, z.B. „[[Copyright|©]]“ wenn man sich einen Film aus dem [[Internet]] herunterlädt oder „[[§]]“ wenn man danach als [[Raubmordkopierer]] vor [[Gericht]] steht. |- | <code>'''\w'''</code> || [[WTF-8|'''w'''tf-8]] || alle [[Unicode|Unikot]]-Zeichen, z.B. „ü“, „ö“, „“ („What The Fuck Eight!“; frei Übersetzt: „Mir doch egal!“). |- | <code>'''\s'''</code> || [[Steuer|'''s'''teuerzeichen]] || eine Untermenge der doofen Zeichen, je nach <code>localsettings</code> „[[Euro|€]]“, „[[$]]“, „¥“, „⎈“ usw. |} === Kantoren === Einer der bekanntesten Kantoren war [[Johann Sebaldrian Bauch]]. Ach halt, nee, das hat ja gar nichts damit zu tun. 'tschuldigung. === Quantoren === Quantoren erlauben es, den vorherigen Ausdruck in verschiedener Vielfachheit in der Zeichen-Zusammenrottung zuzulassen. {|class="wikitable" |- | <code>'''?'''</code> || Ich habe keine Ahnung, was ich hier eigentlich tue. |- | <code>'''*'''</code> || Der voranstehende Ausdruck gefällt mir. Er kriegt ein [[Stern]]chen. |- | <code>'''{<font style="color:darkgreen;">''Vierhundertmillionenmilliarden''</font>}'''</code> || Der voranstehende Ausdruck muss ''[[Vierhundertmillionenmilliarden]]''-mal vorkommen. |} ==== Possessives Verhalten ==== Viele irreguläre Ausdrücke verhalten sich ungebührlich und werden gierig, insbösondere wenn man ihnen ein Sternchen verleht (s.o.). Sie sind dann z.B. von Steuerzeichen („[[Euro|€]]“, „[[$]]“, „¥“ usw.) ganz besessen und klauen einem auch das letzte Bisschen [[Kleingeld]]. Da hilft dann nur noch ein [[Exorzist]], um diese Possession auszutreiben. == Praxis == Irreguläre Ausdrücke dienen in der Praxis dazu, andere Programmirrer in den [[Wahnsinn]] zu treiben, falls sie da nicht sowieso schon sind. === Beispiel === <pre> (?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t] )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?: \r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:( ?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0 31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\ ](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+ (?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?: (?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z |(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n) ?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\ r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n) ?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t] )*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])* )(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t] )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*) *:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+ |\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r \n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?: \r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t ]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031 ]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\]( ?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(? :(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(? :\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(? :(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?P(?:\r\n)? [ \t]))*"(?:(?:\r\n)?[ \t])Fuck You!?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,E:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:N^\"\r\\]| \\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])I(?:[^()<> @,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\"S\[\]]))|" (?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t] )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(? :[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[ \]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000- \031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|( ?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,; :\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([ ^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\" .\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\ ]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\ [\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\ r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]? \000-\031]+(!!11!Eins Elf1!!\t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\] |\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0 00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\ .|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@, ;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(? :[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])* (?:[^()<>@,;:\\".\[\] \000-\03½]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\". \[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[ ^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\] ]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*( ?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:( ?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[ \["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t ])*))*@(?:(?:\r\n)?[≠\t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t ])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(? :\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+| \Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?: [^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\ ]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n) ?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[" ()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n) ?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<> @,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@, ;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t] )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)? (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])Ğ|\Z|(?=[\["()<>@,;:\\". \[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?: \r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[ "()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t]) *))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(☭:(?:(?:\r\n)?[ \t]) +|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\ .(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z |(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:( ?:\r\n)?[ \t])*))*)?;\s*)><((((*> </pre> == Hufnoten == {{Note|1|Der regelmäßige Gebrauch irregulärer Ausdrücke ist sogar ein Indiz, dass keine [[Ex]] vorhanden ist – ob irre oder nicht.}} {{sa}} [[Regulärer Ausdruck]] [[wiki:Regulärer Ausdruck]] [[Kategorie:Computer]]
Zusammenfassung:
Mit dem Speichern dieser Seite …
… versichere ich, dass ich den Beitrag selbst verfasst habe bzw. dass er keine fremden Rechte verletzt
… willige ich ein, meinen Beitrag unter der
Creative Commons Attribution/Share-Alike Lizenz 3.0
und der
GNU-Lizenz für freie Dokumentation
zu veröffentlichen
… akzeptiere ich die
Kamelknigge
Abbrechen
|
Bearbeitungshilfe
(neues Fenster)
Zum Vermeiden unnötiger Artikelversionen bitte den
Vorschau-Button
benutzen!
Folgende Vorlagen werden von dieser Seite verwendet:
Vorlage:Note
(
bearbeiten
)
Vorlage:Nv
(
Quelltext anzeigen
) (schreibgeschützt)
Vorlage:Ref
(
bearbeiten
)
Vorlage:Sa
(
bearbeiten
)
Navigationsmenü
Ich
Ein neues Kamel registrieren
Anmelden
Namensräume
Artikel
Diskussion
Varianten
Ansichten
Lesen
Bearbeiten
Versionen/Autoren
Aktionen
Suche
Navigation
Hauptseite
Wegweiser
Zufällige Seite
Empfohlene Seiten
Schwesterprojekte
KameloNews
Gute Frage
Gute Idee
KameloBooks
Kamelionary
Spiele & Co.
Mitmachen
Letzte Änderungen
Herden-Portal
Forum
Chat
Qualitätssicherung
Hilfe
Werkzeuge
Links hierhin
Änderungen an verlinkten Seiten
Spezialseiten
Seiteninformationen