Die Daten sehen wie folgt aus besteht:Regex entfernen Wagenrücklauf von Ende Linien, wenn es
0.43,0.57,0.71,0.29,0.71,1.00,0.57,1.00\r
0.43,0.57,0.71,0.29,0.71,1.00,0.57,1.00
0.43,0.57,0.71,0.29,0.71,1.00,0.57,1.00\r
und ich mag die Carriage Return-Zeichen (mit \r
in der Probe oben markiert) extrahieren. Ich habe versucht, dies mit gm
und eine Capture-Gruppe:
(.*)(?:\\r)$
aber diese Spiele nur die Linien mit einem \r
. Ich dachte, die Lösung eine ?
vor dem $
hinzuzufügen wäre, aber das funktioniert nicht.
Demo: https://regex101.com/r/jArLdS/1
Prost
Möchten Sie alle * Linien erfassen * ohne '\ r' - Carriage Return - am Ende? Verwende '[^ \ r \ n] +'. Ihre obige Beispielzeichenfolge enthält einen umgekehrten Schrägstrich + den Buchstaben "r". Else, verwenden Sie [ '/(.+?)(?:\\r)?$/gm'](https://regex101.com/r/8nQEqg/1). –
Sind diese gemeint, um * literal * '' 'oder ein Carriage-Return-Zeichen zu sein? Willst du einfach alles mit dem '\ r' abgleichen, oder musst du wirklich alles * außer *' 'und' '' separat aufzeichnen? – Bohemian
@Bohemian Sorry für Unklarheiten. Als ich diese Frage schrieb, interpretierte ich das \ r als eine Zeichenfolge mit zwei Zeichen, aber es stellte sich heraus, dass es das Wagenrücklaufzeichen war - was die Lösung trivial macht, wie oben ausgeführt. Wirklich interessierte mich mehr für den anderen Fall, den er auch gelöst hat – AlexG