Was ist RegEx?
Kurzübersicht
Mit regulären Ausdrücken, auch regex genannt, können Sie dynamischen Text bearbeiten, der in WalkMe-Inhalten angezeigt wird oder der Teil automatisierter Prozesse ist. Die Verwendung von Regex-Syntax ist ideal für Situationen, bei denen Werte von dynamischem Text verwendet werden, die zugleich die gewünschten Werte und weitere Zeichen enthalten, die nicht relevant sind.
Anwendungsfälle
Anwendungsfälle für Regex umfassen Folgendes:
- Wenn dynamischer Text den Vor- und Nachnamen von Benutzern enthält, verwenden Sie Regex, um nur den Vornamen in einem ShoutOut oder einer Sprechblase anzuzeigen, um es persönlicher zu gestalten (visuelle Anzeige)
- Setzen Sie die E-Mail-Adresse Ihrer Benutzer (wenn sie Teil eines größeren Objektes mit zusätzlichen Daten ist) beim Laden der Seite (Automation) automatisch in ein Textfeld ein
- Wählen Sie nur einen Teil einer URL aus, wenn Sie dynamischen Text verwenden, um Benutzer automatisch auf eine andere Seite zu leiten
Beispiel für einen Anwendungsfall
Ein Kunde möchte, dass ein SmartTip angezeigt wird, wenn ein Bildschirmelement ein Datum anzeigt, das vor oder gleich dem 31. Januar 2019 liegt.
Problembehandlung:
- Gliedern Sie die möglichen Werte, die Sie abgleichen möchten, und Werte, die Sie nicht abgleichen möchten
- Gliedern Sie das Problem in mehrere Regelsätze auf, die zusammengenommen alle Werte umfassen, die Sie abgleichen wollen
- In diesem Beispiel haben wir vier verschiedene Muster, die wir abgleichen möchten:
- Alle Daten im Januar 2019
- Alle Daten zwischen 1. Januar 2010 und 31. Dezember 2018
- Alle Daten zwischen 1. Januar 2000 und 31. Dezember 2009
- Alle Daten zwischen 1. Januar 0000 und dem 31. Dezember 1999
- In diesem Beispiel haben wir vier verschiedene Muster, die wir abgleichen möchten:
- Formulieren Sie die Regeln, wie mit jedem der oben genannten Fälle umzugehen ist und testen Sie sie:
- ^Jan[\s]+[0123]?[\d]+,[\s]+2019$
- ^[\w]+[\s]+[0123]?[\d]+,[\s]+201[012345678]$
- ^[\w]+[\s]+[0123]?[\d]+,[\s]+200[0123456789]$
- ^[\w]+[\s]+[0123]?[\d]+,[\s]+[01][\d]{3}$
- Nachdem jede Gruppe geprüft wurde, werden diese mithilfe der Pipe zu einer Zeichenkette zusammengefasst (überflüssige ^ und $s entfernen).
- ^Jan[\s]+[0123]?[\d]+,[\s]+2019|[\w]+[\s]+[0123]?[\d]+,[\s]+201[012345678]|[\w]+[\s]+[0123]?[\d]+,[\s]+200[0123456789]|[\w]+[\s]+[0123]?[\d]+,[\s]+[01][\d]{3}$
- Integrieren Sie das obige RegEx in den Regelsatz des SmartTip-Anzeigesegments mit:
- OSE/jQuery > Text ist pro regulärem Ausdruck > ^Jan[\s]+[0123]?[\d]+,[\s]+2019|[\w]+[\s]+[0123]?[\d]+,[\s]+201[012345678]|[\w]+[\s]+[0123]?[\d]+,[\s]+200[0123456789]|[\w]+[\s]+[0123]?[\d]+,[\s]+[01][\d]{3}$
- Ergebnis: SmartTip wird angezeigt, wenn der Textwert des Elements vom 1. Januar 0000 bis zum 31. Januar 2019 reicht
Funktionsweise
Beginnen Sie mit einem öffnenden Regex-Tag, das den regulären Ausdruck selbst enthält, gefolgt von der Anweisung, auf die Sie den regulären Ausdruck anwenden möchten, und beenden Sie mit einem schließenden Regex-Tag:
[regex=" {das Regex selbst} "] {auf das Regex anzuwendender Text} [/regex]
Regex-Struktur
Beginnende und endende Abgrenzungen
Wenn ^ außerhalb von Klammern steht, bezeichnet es den Beginn eines RegEx und wird zusammen mit dem $ verwendet, um das Ende des RegEx zu bezeichnen.
Abgleich eines einzelnen Zeichens
Die einfachste Form von RegEx wird einen direkten Zeichenabgleich durchgeführen.
Listen und Bereiche
[] kann zur Angabe einer Liste von Werten verwendet werden und in Verbindung mit – kann es einen Wertebereich vorgeben, den ein entsprechendes Zeichen in der Zielzeichenkette annehmen kann
Wiederholungen
{3} und {#,#} können so eingesetzt werden, dass die gleichen Muster in einer RegEx nicht wiederholt eingegeben werden müssen
Platzhalter
Diese sind nützlich, wenn Text in der Zielzeichenfolge dynamisch ist oder wenn der Inhalt keine Rolle spielt. . entspricht jedem einzelnen Zeichen, * entspricht Null oder Mehr des vorhergehenden Musters und + entspricht einem Zeichen oder mehreren des vorhergehenden Musters.
Escape-Zeichen
Der Backslash \ bedeutet, dass die nachfolgenden Zeichen eine besondere Bedeutung haben
Ausschlusszeichen
Innerhalb von [] kann ^ angeben, dass das Zeichen in der Zielzeichenkette nicht vorkommen soll.
Negativer Ausblick
(?!) gibt an, dass die folgende Zeichenkette im Abgleich nicht vorhanden sein soll, und ist nützlich, um z. B. zu verhindern, dass eine WalkMe-Erweiterung in den falschen iFrame eingespeist wird.
Die Pipe
| ist der logische „ODER“-Operator in Regex und gibt an, dass eine Zielzeichenfolge mit mehreren Mustern übereinstimmen kann.