繁体   English   中英

C# 正则表达式; 双引号问题

[英]C# Regex; Double Quote Issue

我在这里有点难过。 我有这种方法,直到最近才正常工作:

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";

现在我的正则表达式不再匹配了。

我认为.*应该匹配所有字符,但它似乎被那个双引号绊倒了。 关于如何让它再次工作的任何想法?

在这里测试...

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

Output

True
True

我改变了什么? @"\^XA.*\^XZ\r\n"的正则表达式模式。 (从两个backslashes到一个)( \\r\\n

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM