首页 > 编程 > Regex > 正文

JS和C#实现的两个正则替换功能示例分析

2020-03-16 20:54:00
字体:
来源:转载
供稿:网友

本文实例讲述了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则返回第一个字符串或字符串组

希望本文所述对大家正则表达式学习有所帮助。


注:相关教程知识阅读请移步到正则表达式频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表