替換規則:
替換中包含原部分逐句,可以用分組的方式來替換,用?<組名>來標記需要記錄的數據,在替換的時候使用
${組名} 或者 <組名> 來加載這部分數據。
例如:
替換:<img>abc</img>為 [圖片]abc 或者 <img>bcd</img>為 [圖片]bcd
方法:Regex.Replace(“<img>abc</img>”,@“<img>(?<str>.*?)</img>”,"[圖片]${str}");
有時有些字符只需要作為占位規則,而不需要替換,那么就需要用到下面這種規則:
(?<=...)表示前置占位但不匹配 (?=...)表示后置占位但不匹配
例如:
替換:<img src="file://c:\abc.png"></img>為: <img src="guid"></img>
這里需要滿足是一個圖片標簽,所以需要用到占位匹配,但又並不替換掉這些占位符,所以如下:
string input = @"<img src=""file://c:\abc.png""></img>";
string pattern = @"(?<=<img src="").+?(?=""></img>)";
string replacement = "guid";
var val = Regex.Replace(input, pattern, replacement);