[英]Error with \^ in c# regex
我有一個字符串,其中包含“ ^ ##”形式的顏色,其中##可以為00-99。
我寫了正則表達式來檢測和替換這些顏色:
Input = Regex.Replace(Input, "\\^[0-9][0-9]", "");
但是,編譯器似乎不喜歡\\ ^作為檢測“ ^”字符的方式(給出無效的轉義碼錯誤)。 那么,如何在C#正則表達式中尋找^字符呢?
您可以嘗試在正則表達式中使用逐字字符串
Input = Regex.Replace(Input, @"\^[0-9][0-9]", "");
如果您想了解有關字符串文字的更多信息,請閱讀MSDN上的這篇文章 。
嘗試雙斜杠"\\\\^"
在創建字符串對象本身時,斜杠是控制字符。
但是您希望字符串本身包含一個斜杠。
由於C#編譯器本身為字符串中的\\
提供了特殊含義,因此,如果要使字符串包含\\
,則必須執行以下兩項操作之一:
通過將其加倍來對其進行轉義: \\\\
通過在開頭的"
加上@
: @"\\"
,使字符串成為逐字字符串-但請注意,后一個選項更改了必須對字符串中的引號( "
)進行轉義的方式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.