Richie2000
Benutzer
- Mitglied seit
- 30. Apr 2024
- Beiträge
- 12
- Punkte für Reaktionen
- 3
- Punkte
- 3
Ich möchte eine neue Regex vorstellen, die ich nach vielen Versuchen entwickelt habe. Diese erkennt Namen am Anfang eines Dokuments und ordnet sie als Tags zu. Dadurch lässt sich die Herkunft von Dateien einfach und robust nachverfolgen.
rule_1006:
tagname: §tagname_RegEx
tagname_RegEx: (?i)\b(?:[A-ZäöüßÄÖÜ][a-zäöüß]+\s+)?[A-ZäöüßÄÖÜ][a-zäöüß]+(?:\s+[A-ZäöüßÄÖÜ][a-zäöüß]+)+|\b[A-ZäöüßÄÖÜ]\.\s+[A-ZäöüßÄÖÜ][a-zäöüß]+(?:\s+[A-ZäöüßÄÖÜ][a-zäöüß]+)+\b
subrules:
- searchstring: \b(?:[A-ZäöüßÄÖÜ][a-zäöüß]+\s+)?[A-ZäöüßÄÖÜ][a-zäöüß]+(?:\s+[A-ZäöüßÄÖÜ][a-zäöüß]+)+|\b[A-ZäöüßÄÖÜ]\.\s+[A-ZäöüßÄÖÜ][a-zäöüß]+(?:\s+[A-ZäöüßÄÖÜ][a-zäöüß]+)+\b
searchtyp: contains
isRegEx: true
Erklärungen:
rule_1006:
tagname: §tagname_RegEx
tagname_RegEx: (?i)\b(?:[A-ZäöüßÄÖÜ][a-zäöüß]+\s+)?[A-ZäöüßÄÖÜ][a-zäöüß]+(?:\s+[A-ZäöüßÄÖÜ][a-zäöüß]+)+|\b[A-ZäöüßÄÖÜ]\.\s+[A-ZäöüßÄÖÜ][a-zäöüß]+(?:\s+[A-ZäöüßÄÖÜ][a-zäöüß]+)+\b
subrules:
- searchstring: \b(?:[A-ZäöüßÄÖÜ][a-zäöüß]+\s+)?[A-ZäöüßÄÖÜ][a-zäöüß]+(?:\s+[A-ZäöüßÄÖÜ][a-zäöüß]+)+|\b[A-ZäöüßÄÖÜ]\.\s+[A-ZäöüßÄÖÜ][a-zäöüß]+(?:\s+[A-ZäöüßÄÖÜ][a-zäöüß]+)+\b
searchtyp: contains
isRegEx: true
Erklärungen:
- (?i): Aktiviert den case-insensitive Modus, um Groß- und Kleinschreibung zu ignorieren.
- \b: Markiert eine Wortgrenze, um sicherzustellen, dass die Muster als getrennte Wörter behandelt werden.
- (?:[A-ZäöüßÄÖÜ][a-zäöüß]+\s+)?: Optional kann ein oder mehrere Wörter vorangehen, die mit einem Großbuchstaben beginnen und von Kleinbuchstaben gefolgt werden, abgeschlossen durch mindestens ein Leerzeichen.
- [A-ZäöüßÄÖÜ][a-zäöüß]+: Erfasst Wörter, die mit einem Großbuchstaben beginnen und von Kleinbuchstaben gefolgt werden.
- (?:\s+[A-ZäöüßÄÖÜ][a-zäöüß]+)+: Erfasst ein oder mehrere zusätzliche Wörter, die einem ersten Wort folgen müssen, jedes beginnend mit einem Großbuchstaben und gefolgt von Kleinbuchstaben.
- |\b[A-ZäöüßÄÖÜ]\.\s+[A-ZäöüßÄÖÜ][a-zäöüß]+(?:\s+[A-ZäöüßÄÖÜ][a-zäöüß]+)+\b: Erfasst Initialen, die von einem Punkt und mindestens einem Leerzeichen gefolgt werden, mit einem oder mehreren nachfolgenden Wörtern.
Beispiel und Verhalten
- Erwünscht: "A. Müller" sollte erfasst werden als "A. Müller".
- Erwünscht: "Alexander Müller" sollte erfasst werden als "Alexander Müller".
- Erwünscht: "A. B. C. Müller" sollte erfasst werden, falls in Ihrer Datenstruktur Initialen gefolgt von mehreren Namen auftreten können.
- Unerwünscht: Einzelwörter oder einzelne Buchstaben ohne nachfolgenden Punkt sollten nicht erfasst werden.