±regex
Ändert den Inhalt eines CSV Tabellenfeldes mit Hilfe eines regulären Ausdrucks
Siehe auch https://wikipedia.org/wiki/Regular_expression.
Der Ausgangsausdruck, das Muster und die Ersetzung werden jeweils durch ein Trennzeichen (meist ein "/") getrennt. Es handelt sich also um eine dreiteilige Kombination.
Bitte beachten Sie, dass innerhalb jedes Teils der Kombination ein buchstäblicher Schrägstrich mit einem Backslash maskiert werden muss, um Verwechslungen zu vermeiden, etwa so \/ .
Wenn Sie mehrere Regex-Ausdrücke eingeben, kann es auch notwendig sein, jedes eingebettete Komma mit einem Backslash zu schützen, wie zum Beispiel: \, . Das liegt daran, dass mehrere Regex-Ausdrücke für mehrere betroffene Felder ebenfalls mit Kommas verkettet werden. Daher muss jedes Komma innerhalb eines Ausdrucks mit einem Backslash geschützt werden.
Der Anfangsteil kann eine leere Zeichenkette, ein Feldinhalt oder ein komplexerer Ausdruck sein. Er wird aufgelöst, bevor der Regex-Mustervergleich stattfindet. Wenn Sie nur das aktuelle Feld selbst ändern wollen, ohne externe Komponenten, können Sie [*] als Ausdrucksteil verwenden oder ihn einfach weglassen (so dass das Argument mit
Der zweite Teil ist ein allgemeines Regex-Muster, das den üblichen Regex-Konventionen folgt.
Daher wird dieses Regex-Muster nicht gemäß den Auflösungsregeln für Ausdrücke CSVfox aufgelöst, da es ausschließlich von der Regex-Automatik behandelt werden muss.
Der dritte Teil beschreibt das Ersetzungsmuster, das schließlich als Inhalt des neuen Feldes eingefügt wird. Die gesamte erfasste Regex-Gruppe kann mit
Ob
Schließlich wird dieser generierte Ersatzteil auch als auflösbarer Ausdruck betrachtet und aufgelöst.
Modifikatoren
Wenn der Regex-Modifikator /i verwendet wird, wird bei der Mustererkennung die Groß- und Kleinschreibung nicht berücksichtigt.
Wenn der Regex-Modifikator /m verwendet wird, erfolgt der Musterabgleich im Mehrzeilenmodus. Die Zeichen
Wenn der Regex-Modifikator /s verwendet wird, erfolgt der Musterabgleich im Einzeilenmodus. Dies ändert die
Wenn der Regex-Modifikator /e verwendet wird, gibt der Musterabgleich nur explizit benannte Gruppen zurück, anstatt alle Gruppen.
Muster
±regex[Feld]=/Muster/Ersetzung
±regex[Feld]=Ausdruck/Muster/Ersetzung
±regex/i[Feld]=Ausdruck/Muster/Ersetzung
Beispiele für die Verwendung
einige Beispiele hier ...Nachstehende Minuszeichen korrigieren
Dies verschiebt alle nachgestellten Minuszeichen eines Betragsfeldes nach vorne, wenn die Felder nur eine Dezimalzahl, ein Minuszeichen und optional etwas Leerraum enthalten:Es macht Folgendes:
Ausdruck:
Der erste Teil
Muster:
Das Regex-Muster zwischen den beiden Schrägstrichen beschreibt :
- den Anfang der Zeichenkette (^),
- vielleicht einige Leerzeichen (\s*),
- eine Gruppe von Zahlen und Trennzeichen (in Klammern, d.h. Gruppe 1),
- ein Minuszeichen (in Klammern, d.h. Gruppe 2),
- und vielleicht noch etwas Leerraum (\s*),
- und das Ende der Zeichenfolge ($).
Ersetzung:
Wenn der aktuelle Feldinhalt mit dieser Beschreibung übereinstimmt, wird er ersetzt durch
zuerst durch die Gruppe 2 (\2, die das Minuszeichen enthält)
und dann durch die Gruppe 1 (\1, die die Zahlen enthält).
Das Feld besteht jetzt also zuerst aus dem Minuszeichen und dann aus den Zahlen.
Das Leerzeichen ist verschwunden, weil es nicht in Gruppen erfasst und wieder in den Ersetzungsausdruck eingefügt wurde.
Summieren der Ziffern einer Zahl
Dies summiert alle Ziffern des Geburtsjahrs Birth in ein Feld SumOfBirthDigits.+regex[SumOfBirthDigits]=[Birth]/(\d)(\d)(\d)(\d)/$1+$2+$3+$4=($1+$2+$3+$4)
Ausdruck:
Der erste Teil
Muster:
Das Muster
Ersetzung:
Der Inhalt