Stellen Sie sich Folgendes vor: Sie sind ein furchtloser Datenforscher, der sich tief in die ungezähmte Wildnis der Rohdaten vorwagt. Ausgestattet mit Ihrer zuverlässigen Tabellenkalkulation und einer Tasse Kaffee begeben Sie sich auf die Suche nach aussagekräftigen Erkenntnissen. Aber leider stoßen Sie auf einen Dschungel aus inkonsistenten Formatierungen, kryptischen Symbolen und Tippfehlern, die ein Eigenleben zu führen scheinen. Fürchte dich nicht, unerschrockener Datenjäger, denn in diesem chaotischen Reich wartet eine Geheimwaffe auf dich: Reguläre Ausdrücke , der Superhelden-Umhang der Datenbereinigung.
Was ist ein regulärer Ausdruck?
Im Kern ein regulärer Ausdruck, allgemein bekannt als Regex ist eine leistungsstarke Zeichenfolge, die ein Suchmuster definiert. Es ist ein vielseitiges Werkzeug, das in verschiedenen Programmiersprachen und Texteditoren verwendet wird Manipulieren und Anpassen von Zeichenfolgen von Text basierend auf bestimmte Muster oder Regeln . Mit regulären Ausdrücken können Sie komplexe Suchmuster prägnant ausdrücken und so das Auffinden, Extrahieren oder Ändern bestimmter Teile von Textdaten erleichtern. Durch die Kombination von Zeichen, Metazeichen und Quantoren können Sie Regex-Muster erstellen, die bestimmten Sequenzen, Zeichen oder sogar komplexeren Strukturen innerhalb eines größeren Textkörpers entsprechen. Aufgrund ihrer vielfältigen Anwendungsmöglichkeiten sind reguläre Ausdrücke zu einer unschätzbar wertvollen Ressource für Datenbereinigung, Textverarbeitung und Mustererkennungsaufgaben geworden.
Regex in JMP
In JMP können reguläre Ausdrücke über das rote Dreieck im Text-Explorer -> Parsing-Optionen -> Regex anpassen aufgerufen und angepasst werden. Es stehen mehrere reguläre Ausdrücke zur Verfügung, z. B. der HTML-Link-Grabber und das Zahlen Textmarker.

Sie können darin reguläre Ausdrücke anpassen JMP.
Obwohl die integrierten Ausdrücke nützlich sind, kann die Datenbereinigung individuellere Ausdrücke erfordern, die besser zum Datensatz passen. Schauen wir uns ein einfaches Beispiel an, etwa das Entfernen aller Zahlen in einer Textzeichenfolge. Der reguläre Ausdruck „\d+“ erledigt diese Aufgabe. Dieser Ausdruck verwendet das '\d' Metazeichen um alle Ziffern (0-9) abzugleichen, und das „+“ Quantor um anzugeben, dass eine oder mehrere Ziffern übereinstimmen sollen. Wenn wir diesen regulären Ausdruck auf die Zeichenfolge „Ich habe 5 Äpfel und 10 Orangen“ anwenden, werden die Zahlen „5“ und „10“ identifiziert. Indem Sie diese Ziffern durch eine leere Zeichenfolge ersetzen, haben Sie Ihre Daten effektiv von allen vorhandenen Zahlen bereinigt.
Lassen Sie uns das analysieren HTML-Link-Grabber um ein komplexeres Beispiel zu erklären. Dieser in JMP integrierte reguläre Ausdruck lautet wie folgt:
<A>]*?)\3[^>]*)|(\s*[a-z]+\s*=\s*('|")([^>]*?)\6))*\s*></A>
Jeder wesentliche Teil des obigen Ausdrucks ist in der folgenden Tabelle zusammengefasst:
| '
| Dieses Metazeichen sucht nach dem öffnenden Anker-Tag in HTML, das einen Hyperlink kennzeichnet. |
| 'href\s*=\s*('|")' |
Dieser Abschnitt entspricht dem Attribut „href“, gefolgt von einem Gleichheitszeichen und optionalen Leerzeichen, dann entweder einem einfachen Anführungszeichen (') oder einem doppelten Anführungszeichen ("). Es erfasst das Eröffnungszitat in einer Rückreferenz. |
| '([^>]*?)' |
Dies entspricht allen Zeichen, die nicht die schließende spitze Klammer (>) sind. Am wichtigsten ist, dass es die URL erfasst, die den Hauptzweck dieses Ausdrucks darstellt. Beachten Sie, dass dieser Abschnitt dem ähnelt Formatspezifizierer in der C-Programmierung. |
| '(\s*[az]+\s*=\s*('|")([^>]*?)\6)' |
Dieses Muster entspricht allen zusätzlichen Attributen innerhalb des Anker-Tags. Es erfasst den Attributnamen, ein Gleichheitszeichen, optionale Leerzeichen und den Attributwert (in Anführungszeichen) und stellt sicher, dass das schließende Anführungszeichen mit dem öffnenden Anführungszeichen übereinstimmt. |
(Sehen Passen Sie Regex im Editor für reguläre Ausdrücke an (jmp.com) für mehr Informationen)
Obwohl diese Attribute und Muster komplex erscheinen mögen, stehen zahlreiche Dokumentationen und Ressourcen zur Verfügung, um zu erfahren und zu verstehen, was die einzelnen Flags darstellen.
Anwendung von Regex
Nachdem wir nun genau wissen, was Regex ist und was es kann, wo ist es am nützlichsten?
Nun, es ist schwer, es auf nur eine Anwendung einzugrenzen, aber ich werde Sie durch ein Beispiel einer Datenfilterung führen, die ich für ein Textanalyseprojekt durchgeführt habe, das Daten aus dem Diskussionsbereich der JMP-Benutzergemeinschaft umfasst. Das ultimative Ziel dieses Projekts bestand darin, die am häufigsten verwendeten Begriffe und Ausdrücke zu finden, die in Diskussionen in der Benutzergemeinschaft veröffentlicht wurden.
Unten sehen Sie ein Beispiel von nur einem davon mehr als achtundvierzigtausend Diskussionskommentare. Notiere dass der HTML-Formatierung Und JSL-Skripting machen es sehr schwierig, das im Originalkommentar verwendete Vokabular zu bestimmen.

Datenprobe vor der Bereinigung durch reguläre Ausdrücke.
Das manuelle Bereinigen dieser Begriffe und Formatierungen kann Monate oder sogar Jahre dauern, aber mit nur wenigen regulären Ausdrücken kann das Bereinigen sofort durchgeführt werden.
Zunächst wollte ich sämtliche Inhalte der JSL-Skriptsprache aus der Diskussion entfernen. Um dies zu erreichen, habe ich den folgenden regulären Ausdruck verwendet:
<CODE class=" language-jsl">[\s\S]*?<\/CODE>|
|((([€¥₩£\$]|r\$)\s{0,2}[\.,]?[0-9][\.,0-9]*)|([\.,]?[0-9][\.,0-9]*\s{0,2}([€¥₩£\$]|r\$)))
Als nächstes wollte ich alle HTML- und CSS-Formatierungs-Tags aus den Daten entfernen:
<[^>]*>
Schließlich wollte ich alle Zahlen, Dezimalstellen und Wörter, die Zahlen enthalten, entfernen:
\d+(\.\d+)?|\.\d+
Wenn Sie sich dieselbe ursprüngliche Beispielnachricht ansehen, können Sie unten sehen, wie jeder Ausdruck die angegebenen Parameter filtert:

Gefilterte Daten. Nicht gefilterte Wörter werden gelb hervorgehoben.
Die Ergebnisse erkunden
Wie ändern sich unsere Ergebnisse, nachdem wir unsere benutzerdefinierten Ausdrücke herausgefiltert haben? Schauen wir uns die direkten Vergleiche der Wortwolken für den rohen und ungefilterten Datensatz mit dem bereinigten Regex-Datensatz an:
ALT (Kein Regex)
|
NEU (Mit Regex)
|

|

|
Beachten Sie, dass die Daten vor der Verwendung regulärer Ausdrücke mit HTML-Formatierungen, JSL-Formatierungen und völlig unabhängigen Inhalten gefüllt werden. Für meine Analyse sind diese Daten völlig irrelevant. Nach der Verwendung von Regex sind die Daten für die Analyse viel nützlicher und können mit etwas mehr Arbeit sehr interessante Ergebnisse liefern.
Die Durchführung einer Themenanalyse der bereinigten Daten lieferte einige sehr interessante Ergebnisse dazu, welche Themen in der Community am häufigsten beantwortet werden (siehe unten).

Fünf-Themen-Analyse von Diskussionsdaten
Die fünf bereitgestellten Themen können in verschiedene Kategorien von Fragen zusammengefasst werden, die Benutzer möglicherweise stellen:
- Thema Nr. 1: Versuchsplanung (DOE)
- Thema Nr. 2: Prädiktive Modellierung und maschinelles Lernen
- Thema Nr. 3: Lehrliche Antworten
- Thema Nr. 4: Datenformatierung und -analyse
- Thema Nr. 5: Programmierung und Skripterstellung
Regex-Spaltentextübereinstimmung
Reguläre Ausdrücke sind nicht auf die Anwendung innerhalb eines Textexplorationsfensters beschränkt; Sie können auch darauf zugreifen, wenn Sie eine neue Datenspalte mit einer Zeichenfolgenformel erstellen. Um darauf zuzugreifen, gehen Sie zu Cols -> Utilities -> New Column by Text Matching.

Regex ist in jeder Textspalte einer JMP-Datei verfügbar.
Wenn Sie „Neue Spalte nach Textübereinstimmung“ auswählen, wird dasselbe Regex-Editorfenster wie im Text-Explorer geöffnet. Der gesamte Datenkurationsprozess ist genau derselbe, allerdings wird Ihr gefilterter Text jetzt automatisch in eine neue Spalte formatiert, wie im Bild unten gezeigt:

Der gleiche Vorgang wird außerhalb eines Text-Explorer-Fensters angezeigt.
Abschließende Gedanken
Reguläre Ausdrücke sind ein unverzichtbares Werkzeug im Bereich der Datenexploration. Sie bieten eine vielseitige Lösung zum Bearbeiten und Anpassen von Textzeichenfolgen an eine gewünschte Ausgabe. Mit Regex können wir das volle Potenzial unserer Daten ausschöpfen.
Weitere Informationen zu Regex finden Sie unter:
Passen Sie Regex im Editor für reguläre Ausdrücke an (jmp.com)
Quantoren in regulären Ausdrücken | Microsoft Learn
Referenz zu regulären Ausdrücken (regular-expressions.info)
Regex-Funktion (jmp.com)
JMP-Hilfe