JS和C#實現的兩個正則替換功能示例分析

給我任何的發表於2022-03-14

本文例項講述了JS和C#實現的兩個正則替換功能。分享給大家供大家參考,具體如下:

應用例項1:

待處理字串:str="display=test name=mu display=temp"

要求:把display=後的值都改成localhost

JS處理方法:

str.replace(/display=\w*/g,"display=localhost");

C#處理方法:

Regex reg=new Regex(@"display=\w*");
str=reg.Replace(str,"display=localhost");

應用例項2:

待處理字串:str="display=test name=mu display=temp"

要求:字串變為display= localhosttest name=mu display= localhosttemp

JS處理方法:

var reg = /(display=)(\w*)/g;
var result;
while ((result= reg.exec(str))!=null) {
  str= str.replace(result[0], result[1] + "localhost" + result[2]);
}

C#處理方法:

/// <summary>
/// 定義處理方法
/// </summary>
/// <param name="match">符合的字串</param>
/// <returns></returns>
private string Evaluator(Match match)
{
  //(display=)(\w*) Groups按查詢到的字串再根據分組進行分組
  //第0組為整個符合的字串,後面的組按括號順序排
  string str =match.Groups[1].Value+"localhost"+ match.Groups[2].Value;
  return str;
}
Regex regex = new Regex(@"(display=)(\w*)");
string result = regex.Replace(str, Evaluator);

最後還有一個關於js的正則的小總結:

字串 match和正則物件 exec的區別

1、 當正規表示式沒有/g時,兩者返回第一個符合的字串或字串組(如果正則中有分組的話)

2、 當正規表示式有/g時,match返回全部符合的字串組且忽略分組,exec則返回第一個字串或字串組

PS:這裡再為大家提供2款非常方便的正規表示式工具供大家參考使用:

JavaScript正規表示式線上測試工具:

正規表示式線上生成工具:

希望本文所述對大家正規表示式學習有所幫助。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015106/viewspace-2870897/,如需轉載,請註明出處,否則將追究法律責任。

相關文章