這篇文章主要介紹了JS和C#實現的兩個正則替換功能,結合具體實例形式分析了js與C#進行字符串正則替換的相關實現方法與注意事項,需要的朋友可以參考下
本文實例講述了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正規表示式線上測試工具:
http://tools.jb51.net/regex/javascript
#正規表示式線上產生工具:
http://tools .jb51.net/regex/create_reg
以上是JS和C#實現的兩個正規替換功能範例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!