C# regex; Doppelte Zitatausgabe
-
28-10-2019 - |
Frage
Ich bin hier ein wenig verblüfft. Ich hatte diese Methode, die bis vor kurzem gut funktionierte:
internal static bool IsZplFormat(string szString)
{
var regex = new Regex(@"\^XA.*\^XZ\\r\\n");
return regex.IsMatch(szString);
}
Das würde angesichts der folgenden Zeichenfolge (aus meinem Unit -Test) gut funktionieren:
const string zplSample = "^XA blah blah blah ^XZ\r\n";
Was jetzt zu passieren scheint, ist, dass ich so etwas bekomme:
const string zplSample = "^XA blah blah \"blah ^XZ\r\n";
Und jetzt stimmt mein Regex nicht mehr überein.
Ich dachte das .*
Sollte mit allen Charakteren übereinstimmen, aber es scheint auf dieses doppelte Zitat gestolpert zu werden. Irgendwelche Ideen, wie ich das wieder zum Laufen bringen kann?
Lösung
Testen hier ...
string zplSample = "^XA blah blah blah ^XZ\r\n";
string zplSample1 = "^XA blah blah \"blah ^XZ\r\n";
Console.WriteLine(new Regex(@"\^XA.*\^XZ\r\n").IsMatch(zplSample));
Console.WriteLine(new Regex(@"\^XA.*\^XZ\r\n").IsMatch(zplSample1));
Console.ReadKey();
Ausgabe
True
True
Was habe ich verändert? Das Regex -Muster zu @"\^XA.*\^XZ\r\n"
. (Von zwei backslashes
zu eins) (\\r\\n
)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow