Ich muss eine Regex formulieren, um nur den ersten Teil einer bestimmten Zeichenfolge statt den zweiten Teil abholen. Zum Beispiel:Oder Anweisungen für die komplexe Regex-Bildung in Python
(part1) (Part2)
SAI Table
Cloth
DARA
Ich möchte nur SAI
(das heißt Teil1 und nicht Teil2) extrahieren. Beachten Sie, dass die zweite Zeile in Teil 1 leer ist und daher ein leeres Leerzeichen zurückgeben sollte (und nicht cloth
). Derselbe Regex muss für alle drei Fälle von Strings funktionieren. Im Fall von String2-Teil muss ein Leerzeichen zurückgegeben werden und nicht table
. Es gibt keine bestimmte Länge von Räumen zwischen den beiden Teilen. Es variiert.
Dies ist die regex Ich habe versucht, aber es funktioniert nur für string1 und string3:
[\s]{1,}((?:[a-zA-Z)(@\-,."'',&*]+[\s]?)+)[\s]{2,}
Gibt es eine Möglichkeit, einen regulären Ausdruck zu schreiben, die in diesem Fall funktionieren würde?
Ich kann Regex hier nur verwenden, da ich es brauche, um irgendeine vorhandene Zeichenfolge zurückzugeben. Die Zeichenfolge kann alphanumerisch sein und die am häufigsten verwendeten Symbole in meiner früheren Regex enthalten. Der Abstand zwischen den beiden ist niemals festgelegt.
Ich brauche es auch einen Raum zurück, wo er 1. leer ist zum Teil Wir 2. Teil ignorieren Aber ich muss sicherstellen, dass die Regex nicht Teil Sie 2.
Sie sollten einige weitere Informationen zur Verfügung stellen: Was sind die Eigenschaften des Teils, den Sie übereinstimmen möchten? nur Großbuchstaben? bestimmte Länge? Brauchst du Regex oder kannst du einfach 'Split' auf den Whitespaces verwenden? – DeepSpace
Gibt es Trennzeichen zwischen Teil1 und Teil2? d. h. Leerzeichen, Tabulator, ... – Trimax
Das ist das Problem. Es gibt keine bestimmte Länge von Räumen zwischen den beiden Teilen. Es variiert. Kann hier nur regex verwenden, da ich dort eine vorhandene Zeichenfolge zurückgeben muss. Die Zeichenfolge kann alphanumerisch sein und die am häufigsten verwendeten Symbole in meiner früheren Regex enthalten. Der Abstand zwischen den beiden ist niemals festgelegt. Und ich brauche es, um ein Leerzeichen zurückzugeben, wo es in Teil 1 leer ist. Wir können Teil 2 ignorieren.Aber stellen Sie sicher, dass die Regex Teil 2 nicht als Teil1 erkennt, wenn Teil1 leer ist wie in Fall2. – megh2017