Auf dieser Seite werden Abschnitte montags automatisch archiviert, deren jüngster Beitrag mehr als 90 Tage zurückliegt und die mindestens einen signierten Beitrag enthalten. Um die Diskussionsseite nicht komplett zu leeren, verbleibt mindestens ein Abschnitt. Die Archivübersicht befindet sich unter dieser Seite.
Auf dieser Seite werden Abschnitte automatisch archiviert, wenn sie mit {{Erledigt|1=--~~~~}} markiert sind und ihr jüngster signierter Beitrag mehr als 3 Tage zurückliegt.
Aber lass uns konkret das Beispiel durchgehen. Vorher jedoch zu meiner Bemerkung, die dir zuviel war: In mw:Help:CirrusSearch (mittlerweile auch in der deutschen Version) wird mehrmals eindringlich davor gewarnt, eine reine RegEx-Suche durchzuführen, da sie sehr serverbelastend ist (buchstäblich jede Seite muss Zeichen für Zeichen mit dem RegEx-Muster abgeglichen werden). Durch eine andere vorgeschaltete Suche kann man die Menge der zu durchsuchenden Seiten aber einschränken, und sobald man nach einer Vorlagenverwendung sucht, ist der Parameter hastemplate: sehr gut geeignet. Wir könnten Deine Suche sogar noch mehr einschränken mit einem vorgeschalteten insource:Lieschen (das ist kein RegEx) und damit noch weiter verbessern.
Nun zu Reinhard Kraaschs Beispiel: insource:/\{\{\s*Internetquelle.*[Aa]utor\s*\=\s*Lieschen/, das so nicht ganz korrekt ist:
Wir gehen erst einmal davon aus, wie die Vorlage im Wikitext eingebunden sein kann: {{_(I/i)nternetquelle_…|_autor_=_Lieschen_…}}/. An den Stellen, wo hier ein Tiefstrich _ steht, kann jede Anzahl von keinem bis zu (theoretisch) unendlich vielen Leerzeichen stehen (es gibt natürlich die erlaubte Maximalgröße einer Seite). (I/i) soll signalisieren, dass hier Groß- und Kleinschreibung möglich ist. In … kann alles mögliche stehen wie andere Parameter mit Werten samt den trennenden senkrechten Strichen, auch nichts, aber keine schließende geschweifte Klammer, da sie die Vorlage abschließt (wir wissen beide, dass das nicht 100%ig korrekt ist, da ja auch weitere Vorlagen als Wert verwendet werden können).
Die Suche per RegEx wird durch die Schrägstriche signalisiert, zwischen die der reguläre Ausdruck gesetzt wird. Standardmäßig wird in MediaWiki Groß- und Kleinschreibung unterschieden. Man kann einen Schalter hinten anhängen, der das ändert, sollte das aber nur in seltenen Fällen tun, wenn es gar nicht anders geht. Die Syntax ist also insource:/…/.
Einige Zeichen (Metazeichen) haben in RegEx zusätzliche besondere Bedeutungen, darunter die geschweiften und eckigen Klammern (auch die runden, die wir für das Beispiel aber nicht benötigen). Sollen diese Zeichen selbst gefunden werden, muss man sie maskieren, was mit dem Backslash erfolgt. Genau das benötigen wir, um den Beginn der Vorlageneinbindung zu finden: insource:/\{\{…/.
Dann können (leider) Leerzeichen vorhanden sein. Ich war hier selbst überrascht, dass der von Reinhard verwendete Code funktioniert; in der MediaWiki-Doku findet man ihn nicht und bei früheren Tests hatte ich selbst keinen Erfolg damit. Deshalb erst einmal zur Erklärung: \s steht allgemein in vielen RegEx-Dialekten für jeglichen Whitespace (Leerraum). Der Stern meint „Vorkommen von kein- bis unendlich mal“. Die Variante, die ich kenne, sieht so aus: *, also 1 Leerzeichen gefolgt von 1 Stern, zur Verdeutlichung kann man das Leerzeichen auch in eckige Klammern einschließen: [ ]*.
Der Vorlagenname kann sowohl groß als auch klein geschrieben werden. Da RegEx das unterscheidet, muss man ihm die Variationsmöglichkeit bekannt geben. Dafür gibt es 2 Möglichkeiten, wir verwenden hier die Klassenbildung [Ii]. Zusammen haben wir damit insource:/\{\{\s*[Ii]nternetquelle…/.
Danach darf alles außer geschweiften Klammern vorkommen. Reinhard hat hier .*, was aber gefährlich ist: Der Punkt steht für „jedes Zeichen“, und zwar speziell in MediaWiki auch für den Zeilenumbruch, der Stern wie oben erwähnt für unendliche Wiederholung, hier also für „alles von keinem Zeichen bis zu unendlich vielen“, so dass eine reine RegEx-Suche damit den gesamten Wikibestand auflisten würde, wenn nicht nach 20 Sekunden abgebrochen würde. Im Beispiel würden irrtümlich auch Seiten aufgelistet, in denen irgendwo nach der Vorlageneinbindung zufällig die Zeichenfolge mit „autor“ auftritt. Meistens ist man hier mit folgendem besser bedient: [^}]; innerhalb der klassenerzeugenden eckigen Klammern steht ^, wenn es zu Beginn kommt, für die Negation, hier heißt es also „Zeichen, das keine geschweifte Klammer ist”, und hängen wir den Stern an, kommt wieder die schon bekannte Variation hinzu. Reinhards Variante findet potentiell zu viel, meine potentiell zu wenig (wegen der Möglichkeit, dass weitere Vorlagen eingebunden sein können). Da „Zeichen, das keine geschweifte Klammer ist” auch Leerzeichen und den senkrechten Strich beinhaltet, müssen wir sie nachfolgend nicht speziell berücksichtigen. (Nebenbei: Der senkrechte Strich ist gleichfalls ein Metazeichen, das sonst hätte maskiert werden müssen.)
In der Vorlage Internetquelle wird der Parameter ausschließlich klein als autor geschrieben, so dass wir ihn einfach so aufschreiben können; in der Vorlage Literatur wäre er dagegen nur groß. In manchen Vorlagen können die Parameter aber sowohl groß als auch klein geschrieben werden, dann wäre Reinhards [Aa]utor genau das Richtige. Bisher sind wir nun also gelangt bis zu insource:/\{\{\s*[Ii]nternetquelle[^}]*autor…/.
Parameter und Wert werden durch ein Gleichheitszeichen getrennt, außerdem dürfen unendlich viele Leerzeichen dazwischen stehen. Das = hat in MediaWiki keine Sonderbedeutung und muss deshalb gar nicht maskiert werden. Mit dem Autorennamen zusammen haben wir damit den gesamten Ausdruck, denn alles nachfolgende muss uns nicht interessieren: insource:/\{\{\s*[Ii]nternetquelle[^}]*autor\s*=\s*Lieschen/.
Willst du auch die Varianten finden, bei denen der Vorname nur abgekürzt ist, muss man das erweitern: Die Variation des Autorennamen ist Erika Mustermann oder E. Mustermann. Jetzt benötigen wir doch runde Klammern und den senkrechten Strich: E(\.|rika)? Mustermann. Die runden Klammern erzeugen eine Gruppierung; darin werden zwei Alternativen aufgeführt, denn der senkrechte Strich steht für „oder“. Da wir den Punkt als solchen benötigen, müssen wir ihn maskieren. Das Fragezeichen heißt „keinmal oder einmal“, und da es direkt einer Gruppe folgt, bezieht sich das auf diese, so dass es heißt: Punkt oder „rika“ oder gar nichts von beiden. Dass damit auch E Mustermann ohne Punkt gefunden wird, sollte man hier in Kauf nehmen. Für die Variante, dass der Familienname zuerst aufgeführt wird, sollte dann aber meiner Ansicht nach eine eigene Suche durchgeführt werden.
Ach ja, da es keine Autorin namens Lieschen gibt, habe ich als Beispiel mal alle Thomasse und Tomasse gesucht: Suchergebnisse für „: hastemplate:Internetquelle insource:/\{\{\s*[Ii]nternetquelle[^\}]*autor\s*=\s*Th?omas/“. Beachte den bloßen Doppelpunkt, der die Suche auf den Hauptnamensraum beschränkt, also Artikel, den oben schon aufgeführten Filter hastemplate, und das Fragezeichen nach dem h im Namen. In den Ergebnissen wird dir übrigens durch Fettdruck angezeigt, welche Zeichenfolge auf das Suchmuster gepasst hat. Speravir 01:09, 2. Feb. 2017 (CET)
@Speravir:: Hallo, kannst Du mir bei folgendem bitte helfen, es auseinanderzunehmen?
1) \* maskiert nur den Stern * als Zeichen (in WP für die Aufzählung)
2) * steht für beliebige Leerzeichen
3) dann folgen zwei maskierte { für die Vorlage {{HLS
4) siehe 2)
5) ein maskierter |für die Pipe als Parametertrennzeichen
6) dann weiß ich nicht genau: [^\}\!]; Ist eine „Klasse“ mit Alternativen, also hier maskiert Nicht-} und maskiert ! (Ausrufezeichen) Dessen Funktion ist mir unklar. Es darf also kein } folgen oder ein !. In der Vorlage gibt es aber kein Ausrufezeichen…
7) + heißt „und“, schätze ich
8) (Zugriff|Abruf) heißt wohl, es kann „Zugriff“ oder „Abruf“ folgen; also wie [] bloß nicht für einzelne Zeichen, sondern Zeichenketten
9) siehe 4)
10) = ist unmaskiert, … hat es denn eine Bedeutung oder fehlt ein \?
11) siehe 9)
12) „20“ ist Text halt (findet Vorlagenverwendung mit der Angabe „Abruf=20…“)
*einmisch* 7): + bedeutet mindestens einmal. (ähnlich wie *, das bedeutet mindestens 0 mal. Es gibt noch ? für null mal oder ein mal und {7,9} für sieben bis neun mal)
10): = hat keine spezielle Bedeutung, ist einfach nur Text
[^\}\!] In eckigen kannst du Zeichen aufzählen. Ein ^ an erster Stelle der Aufzählung negiert die Aufzählung, also alle Zeichen die nicht aufgezählt sind dürfen dann kommen. Ob man die geschlungene Klammer innerhalb der eckigen mit \ maskieren muss, ist eine Sache von ausprobieren. Da ist (aus Erfahrung) abhängig von der Implementierung. Ebenso das Ausrufezeichen. Also im Prinzip bedeutet das "Keine schließende Geschlungene und kein Ausrufezeichen". Allerdings verstehe ich den Sinn des Ausrufezeichens nicht. Die schließende Geschlungene ist klar: Damit das Muster innerhalb des Templates bleibt.
Etwas sauberer wäre übrigens statt " *" ein "\s*" schreiben. \s ist eine Zeichenklasse: "Alle Leerzeichen" da ist das Tab-Zeichen, Zeilenumbruch und so Zeugs auch dabei und außerdem: Es verstehen noch weniger Leute *kicher* Und zwischen "\{\{" und dem Namen der Vorlage darf auch Leerraum sein, also "\{\{\s*HLS" --Wurgl (Diskussion) 21:37, 19. Okt. 2020 (CEST)Beantworten
Tommes, ich kann Wurgl im wesentlichen nur zustimmen. Also: Punkt 6 ist richtig interpretiert; Ausrufezeichen und Klammer müssten aber hier gar nicht maskiert werden, es schadet aber auch nicht (habe ich bei der Klammer oft selbst gemacht, weil ich unsicher war, aber ein Test zeigte, dass es unnötig ist). Den Sinn, das Ausrufzeichen zu verbieten, verstehe ich aber auch nicht; dazu müsstest du zeigen, worauf sich das bezieht. Bei den Pktn. 7 und 10 hat Wurgl ebenso Recht. Das Fragezeichen hat eigentlich noch eine weitere Funktion, nämlich die sogenannte Greediness abzuschalten, aber das scheint in MediaWiki nicht implementiert zu sein.
Aha. Ich wollte zuerst schreiben, es handele sich hier wohl um einen Tippfehler, und war auch kurz davor, auf der Disk.-Seite eine geänderte Suchanfrage zu veröffentlichen (inklusive der kleinen Verbesserung wegen der erlaubten Leerzeichen, die Leyo nicht berücksichtigte). Zum Glück habe ich diese Suche vor dem Speichern einmal ausgeführt und mir ist der Sinn nun klar: Es gibt einige Verwendungen, wo der kritische Eintrag nur auskommentiert wurde und die wollte Leyo ebenfalls ausschließen, vgl. selbst mit meiner Variation: „hastemplate:hls insource:/\* *\{\{ *HLS *\|[^\}]+\| *(Zugriff|Abruf) *= *20/“ – Stand jetzt nur ein Fund, der wirklich bearbeitet werden müsste, aber auch mit Leyos Suche gefunden wird. Sollte jemand mal {{ HLS … oder | Abruf = … schreiben, würde Leyos Suche aber nicht mehr greifen. — Speravir– 20:32, 20. Okt. 2020 (CEST)Beantworten
Ich habe die 5 Treffer durchgesehen (und einen eliminiert) und festgestellt, dass bei diesen innerhalb der Vorlage das Abrufdatum auskommentiert wurde. Danke! --Tommes✉20:40, 20. Okt. 2020 (CEST)Beantworten
hab ich gerade entdeckt und kann ich gleich hier nutzen :-)
Melanie Phillips
„Da Großbritannien es seit langem aufgegeben hat, die Tradition der Mehrheit zu ehren und hochzuhalten, mit dem Argument, dass die Werte der Minderheiten gleichrangig seien, wenn nicht geradezu denen der Mehrheit überlegen, gibt es keine Leitkultur mehr, in welche Einwanderer sich integrieren könnten. In das so entstandene Vakuum strömt der radikale Islam hinein mit seinem eigenen Angebot einer Identität, basierend auf Hass, Gewalt und Lügen.”
Anmerkung: Es handelt sich um den testweisen Versuch eines Versands aktueller Projektinfos aufgrund des Wunsches nach regelmäßigen Infos über Neuigkeiten in der Wikipedia, analog zum Ausrufer (Übernahme der Seitenliste von dort, Opt-out und Opt-in jederzeit hier möglich). Ob eine Fortführung gewünscht oder nicht gewünscht ist, gerne auf der Diskussionsseite rückmelden.
neue Kurier-Artikel (Fotowettbewerb WLM: Sonderpreis „Friedhofsfotos“ • Eigenbezug: „Du interessierst dich ja nur für dich selber!“ • Württembergische Oberämter neugeordnet • Workshop: OpenStreetMap • Train-the-Trainer-Schulung • Die alemannische Wikipedia wird 20 • Sieger des 39. Schreibwettbewerbs • 100 Women Days geht in die nächste Runde • Der Züritreff zelebriert 100. Stammtisch) |
neue Kurier-Artikel (Über Sinn und Unsinn „zeitüberdauernder Relevanz“ • re:publica’24 • Anmeldeschluss Zukunftskongress 2024 am 07.04. • Wikipedia kartographiert • Boardwahlen demnächst ganz anders • Abstimmungsphase zum Miniaturenwettbewerb • Warum sagen wir „Wiki“?) |
Letzter Kommentar: vor 2 Monaten1 Kommentar1 Person ist an der Diskussion beteiligt
__DTSUBSCRIBEBUTTONMOBILE__{"headingLevel":2,"name":"h-MediaWiki_message_delivery-20241026113200","type":"heading","level":0,"id":"h-Einladung_f\u00fcr_den_Wartungsbausteinwettbewerb_Herbst_2024-20241026113200","replies":["c-MediaWiki_message_delivery-20241026113200-Einladung_f\u00fcr_den_Wartungsbausteinwettbewerb_Herbst_2024"],"text":"Einladung f\u00fcr den Wartungsbausteinwettbewerb Herbst 2024","linkableTitle":"Einladung f\u00fcr den Wartungsbausteinwettbewerb Herbst 2024"}-->
Hallo Tommes, der nächste Wartungsbausteinwettbewerb startet am 2. November (für Schiedsrichter bereits einen Tag vorher). Du bist wie immer als Teilnehmer und/oder Schiri willkommen! Falls du fortan keine Einladung mehr auf deiner Diskussionsseite erhalten möchtest, trag dich bitte hier aus. Falls du per Echo über wichtige Neuigkeiten, Terminabstimmungen usw. informiert werden möchtest, trag dich bitte hier ein. MediaWiki message delivery (Diskussion) 13:32, 26. Okt. 2024 (CEST) im Auftrag von GripweedBeantworten
Moin! Kannst du da nochmals auf die Änderung des Link in die Vorlage ANNO (Einzelnachweis 2) angucken, ich bekomme bei Anno nur die Jahresauswahl (auch wenn ich das Datum der Vorlage von Monat|Jahr|Tag nach Tag|Monat|Jahr korrigiere) --Wurgl (Diskussion) 09:55, 12. Nov. 2024 (CET)Beantworten
__DTSUBSCRIBEBUTTONDESKTOP__{"headingLevel":2,"name":"h-Xqbot-20250106123300","type":"heading","level":0,"id":"h-Du_wurdest_auf_der_Seite_Vandalismusmeldung_gemeldet_(2025-01-06T12:33:19+00:00)-20250106123300","replies":["c-Xqbot-20250106123300-Du_wurdest_auf_der_Seite_Vandalismusmeldung_gemeldet_(2025-01-06T12:33:19+00:00)"],"text":"Du wurdest auf der Seite Vandalismusmeldung gemeldet (2025-01-06T12:33:19+00:00)","linkableTitle":"Du wurdest auf der Seite Vandalismusmeldung gemeldet (2025-01-06T12:33:19+00:00)"}-->
Du wurdest auf der Seite Vandalismusmeldung gemeldet (2025-01-06T12:33:19+00:00)
Letzter Kommentar: vor 1 Tag1 Kommentar1 Person ist an der Diskussion beteiligt
__DTSUBSCRIBEBUTTONMOBILE__{"headingLevel":2,"name":"h-Xqbot-20250106123300","type":"heading","level":0,"id":"h-Du_wurdest_auf_der_Seite_Vandalismusmeldung_gemeldet_(2025-01-06T12:33:19+00:00)-20250106123300","replies":["c-Xqbot-20250106123300-Du_wurdest_auf_der_Seite_Vandalismusmeldung_gemeldet_(2025-01-06T12:33:19+00:00)"],"text":"Du wurdest auf der Seite Vandalismusmeldung gemeldet (2025-01-06T12:33:19+00:00)","linkableTitle":"Du wurdest auf der Seite Vandalismusmeldung gemeldet (2025-01-06T12:33:19+00:00)"}-->