Regex ersetzt mehrere neue Zeilen

8

In C # wie lege ich Regex fest, um mehrere Gruppen zu ersetzen. Zum Beispiel möchte ich mehr als eine Instanz von entweder \r\n oder \r\r durch eine Umgebungsnebenzeile ersetzen. Ich habe diesen Regex logisch geschrieben, aber ich weiß, dass es falsch ist. Bitte korrigieren und erklären, wie es funktioniert.

%Vor%

Eingabetext

%Vor%

Wo jede Zeile entweder durch \r\n oder \r\r getrennt sein kann. Das erwartete Ergebnis nach dem Regex-Ersetzen liegt unter

%Vor%     
Deeptechtons 02.12.2016, 13:01
quelle

1 Antwort

10

Der Punkt ist, dass Ihre Regex Sequenzen von \r\n (2 oder mehr) und dann 2 oder mehr Sequenzen von \r\r entspricht. Du brauchst

%Vor%

Oder [\r\n]{2,} , wenn nur 2 oder mehr Vorkommen von \r oder \n übereinstimmen müssen.

Wenn Sie zwei oder mehr gebräuchliche Zeilenumbrüchtypen ( \r\n in Windows, \n in Unix / Linux und \r unter Mac OS) exakt abgleichen möchten, verwenden Sie

%Vor%     
Wiktor Stribiżew 02.12.2016, 13:02
quelle

Tags und Links