[英]Handling regex escape replacement text that contains the dollar character
string input = "Hello World!";
string pattern = "(World|Universe)";
string replacement = "$1";
string result = Regex.Replace(input, pattern, replacement);
使用以下示例,結果將是"Hello World!"
,因為$1
被第一組替換(World|Universe)
,但是我想要的結果是"Hello $1!"
Regex.Escape
方法旨在用於轉義 Regex 模式,而不是替代,因為它可以轉義其他字符,如斜線和其他 Regex 模式字符。 解決我的問題的明顯方法是讓我的替換等於"$$1"
,並將實現"Hello $1!"
,但我想知道美元符號是否是我必須轉義的唯一值(假設replacement
是用戶生成的,我提前不知道),或者是否有幫助程序 function 已經這樣做了。
有誰知道 function 來轉義Regex.Replace(string input, string pattern, string replacement)
使用的替換值?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.