1

私はここで少し困惑しています。私はこの方法を持っていましたが、これは最近までうまく機能していました:

internal static bool IsZplFormat(string szString)
{
    var regex = new Regex(@"\^XA.*\^XZ\\r\\n");
    return regex.IsMatch(szString);
}

次の文字列(私の単体テストから取得)があれば、それはうまくいきます:

const string zplSample = "^XA blah blah blah ^XZ\r\n";

現在起こっているように見えるのは、次のようなものを取得していることです。

const string zplSample = "^XA blah blah \"blah ^XZ\r\n";

そして今、私の正規表現はもう一致しません。

.*はすべての文字に一致するはずだと思っていましたが、その二重引用符でつまずいているようです。これを再び機能させる方法についてのアイデアはありますか?

4

1 に答える 1

1

ここでテスト...

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();

出力

True
True

私は何を変えましたか?への正規表現パターン@"\^XA.*\^XZ\r\n"。(2backslashesから1へ) ( \\r\\n)

于 2011-05-02T18:46:07.487 に答える