![]() |
Frage zu RegEx-Formel
Ich beschäftige mich jetzt (seltsamerweise) zum ersten mal mit RegEX. Ich denke richtig benutzt könnte es mir die Arbeit beim Suchen nach oder Extrahieren von Text sehr hilfreich sein.
Nun gibt es leider so viele Möglichkeiten und Paramenter, dass ich da nicht so recht weiß, wie ich anfangen soll. Habe schon mal das Video von Bernd zum RegEx gesehen und mal ein wenig auf der regex101.com rumprobiert, nur leider will es nicht gelingen. Ich möchte einen Text Zeilenweise durchgehen und da den Text, der am Anfang in Klammern steht extrahieren und auch den nachfolgenden Text, der in Hochkommata steht. Ein Beispiel: DEr zu durchsuchende Text lautet: " urposes of their operation, use, protection and maintenance; (2) ‘security of network and information systems’ means the ability of network and information systems to " Ich will hier also letztlich den Titel der Definition "security of network and information systems" rausfiltern, inclusive der vorangestellten Nummer (2). Will also als Rückgabe haben: (2) ‘security of network and information systems’ Kann mir jemand mal zum Einstieg die Lösung sagen, das würde mir sehr helfen und dann als Basis für mögliche Abwandlungen dienen können... |
AW: Frage zu RegEx-Formel
Code:
sollte so funktionieren - getestet mit
\(\d\) [‘][a-zA-Z0-9\x20]+[’]
![]() Grüße Klaus |
AW: Frage zu RegEx-Formel
Zitat:
Demnach bedeutet: \(\d\) jedes Zeichen innerhalb der Klammern (warum steht vor den Klammern ein "\"?) ['] = Erfassung des Hochzeichens (am Anfang?) [a-zA-Z0-9] = Alle Buchstaben und Zahlen. Wenn allerdings ein deutscher Umlaut im Text vorhanden ist, wird nichts gefunden. Muss also noch "üäöÄÖÜ" dazunehmen (auch ein $, § etc, wenn so was vorkommt. ein \d\ scheint damit nicht zu gehen Wofür steht \x20 ? Dazu habe ich leider in der Doku nichts gefunden... Aber echt cool. Ich glaube, wenn man das beherrscht wird man schnell Weltmeister im parsen... |
AW: Frage zu RegEx-Formel
Ich empfehle dir da den
![]() |
AW: Frage zu RegEx-Formel
Danke Uwe, werde ich mir mal ansehen.:thumb:
Das obige Beispiel habe ich noch etwas verbessern können, so dass nun auch (10) oder (1a) oder (18b) oder auch zwei Leerzeichen zwischen dem Text erkannt werden: \(d*.+\) +[‘][a-zA-Z0-9\x20]+[’] |
AW: Frage zu RegEx-Formel
Hallo Uwe,
der Backshlash wurd zum Escapen benutzt - d.h in der Regel folgt dort ein Zeichen das anders interpretiert werden soll. \x20 bildet ein Leerzeiche ab. Onne dem \x20 würde nur das erste Wort gefunden werden. \d steht für eine einzelne Zahl (digit) \d+ dann muss dort ein oder mehrere digits vorhanden sein Der Punkt bildet irgendein Zeichen ab. Grüße Klaus |
AW: Frage zu RegEx-Formel
Anfängerfrage.
Falls immer gleiche Muster gesucht wird, reicht es nicht so: (\(\d+\).*?)’ |
AW: Frage zu RegEx-Formel
in der Tat - die Welt kann so einfach sein :o)
Code:
findet auch (2abc) ... oder (2 abc) ...
(\(\d+\s*\S*\).*?)’
Grüße Klaus |
AW: Frage zu RegEx-Formel
Liste der Anhänge anzeigen (Anzahl: 1)
Ja, super, vielen Dank, funktioniert perfekt.
Falls von Interesse, wofür ich das gebraucht und letztlich verwendet habe, dann kann man sich das hier ansehen: Exakte Stelle : ![]() oder das ganze Video (8 Min): ![]() um den Kontext besser zu verstehen. Was mir nicht gelungen war, ist einen Text auszuschließen, hätte gedacht es würde mit "(?!Absatz)" funktionieren, um das Wort "Absatz" auszuschließen (siehe auch anliegenden Screenshot). Was mache ich da falsch? |
AW: Frage zu RegEx-Formel
Liste der Anhänge anzeigen (Anzahl: 1)
.. Du köntest es mal so versuchen
Code:
Grüße
(^§.*\d*.*)Absatz(.*)|(^§.*\d*\s*)
Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz