簡體   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