我試圖做在Python轉換到C#轉換的Python應用re.sub到C#
sconvert = re.sub(r"([.$+?{}()\[\]\\])", r"\\\1", sconvert)
我無法找到一個C#.NET相當於此功能,以方便。
從Python手冊
應用re.sub(圖案,REPL,串,計數= 0,標誌= 0)返回通過替換字符串 圖案的最左邊的非重疊出現獲得的串替換repl。如果未找到該模式,則返回 字符串不變。 repl可以是一個字符串或一個函數;如果 它是一個字符串,則處理它中的任何反斜槓轉義。即,\ n 轉換爲單個換行符,\ r轉換爲回車符 ,依此類推。像\ j這樣的未知轉義字符只剩下 。反向引用(例如\ 6)被替換爲模式中與組6匹配的子字符串 。
轉義函數會轉義更多字符,然後我想轉義。 – Henry
是的,所以請使用您自己的替換代碼。我建議加入'|','-'和'^'。請注意,在.NET正則表達式中,您不必轉義'{','''','#'和空格(除非在使用RegexOptions.IgnorePatternWhitespace修飾符編譯的正則表達式中使用散列和空格)。 –
謝謝,正則表達式對我而言是如此的陌生。 – Henry