Ich habe mit einer Regex zu kämpfen, um am Ende der Zeile zu stoppen.Regex: nicht übereinstimmende Ende der Zeile
Eingabe sieht wie folgt aus:
Einige Linien haben Werte (alle Zeichen enthalten kann) nach den Doppelpunkte, manche nicht. Es kann Räume auf beiden Seiten des Dickdarms geben, möglicherweise nicht.
Für Leitungen 2 und 4 die folgenden Arbeiten (dh Spiel 12
und 16
respectively):
Pink\s*:\s*(.*)\n
Red\s*:\s*(.*)\n
Aber für Linie 3 (wo es keinen Wert übereinstimmen), eine regex die obige Syntax liefert 16 , dh liest über das Ende der Zeile hinaus.
Kann jemand vorschlagen, was ich falsch mache? Ich benutze VBA.
Gerade ein zusätzlicher Doppelpunkt vor 16 im Beispiel bemerkt, so ist es tatsächlich: 16, die zurückgegeben wird, aber das ist nicht relevant für die Frage. – QAer
Sie müssen '\ s' durch' [\ t] 'ersetzen. Oder mit '[^ \ S \ r \ n]'. –