当前位置: 移动技术网 > IT编程>开发语言>正则 > JS和C#实现的两个正则替换功能示例分析

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

2017年12月01日  | 移动技术网IT编程  | 我要评论
本文实例讲述了js和c#实现的两个正则替换功能。分享给大家供大家参考,具体如下: 应用实例1: 待处理字符串:str="display=test name=mu dis

本文实例讲述了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正则表达式在线测试工具:

正则表达式在线生成工具:

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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网