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

 更新时间:2017年06月01日 10:51:37   作者:穆穆  
这篇文章主要介绍了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

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

相关文章

  • 常用JavaScript正则表达式汇编与示例详解

    常用JavaScript正则表达式汇编与示例详解

    目前收集整理了21个常用的javaScript正则表达式,其中包括用户名、密码强度、整数、数字、电子邮件地址(Email)、手机号码、身份证号、URL地址、 IP地址、 十六进制颜色、 日期、 微信号、车牌号、中文正则等。感兴趣的朋友一起看看吧
    2019-04-04
  • MyEclipse删除网上复制下来的来代码带有的行号(正则去除行号)

    MyEclipse删除网上复制下来的来代码带有的行号(正则去除行号)

    这篇文章主要介绍了MyEclipse删除网上复制下来的来代码带有的行号,利用正则表达式进行去除,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 36个正则表达式(开发效率提高80%)

    36个正则表达式(开发效率提高80%)

    我们在日常的Java开发中,经常需要处理一些字符串,本文主要介绍了36个常用正则表达式,感兴趣的可以了解一下
    2021-11-11
  • 匹配form表单中所有内容的正则表达式

    匹配form表单中所有内容的正则表达式

    这篇文章主要介绍了匹配form表单中所有内容的正则表达式,实现在HTML文件代码中匹配form表单中的所有内容,需要的朋友可以参考下
    2014-07-07
  • Javascript使用正则验证身份证号(简单)

    Javascript使用正则验证身份证号(简单)

    本文以javascript为例给大家介绍了正则表达式验证身份证号的方法,非常不错,介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看下吧
    2016-08-08
  • swift中的正则表达式小结

    swift中的正则表达式小结

    正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。
    2015-10-10
  • RegExp对象的方法和属性

    RegExp对象的方法和属性

    RegExp对先看整个字符串是不是匹配,如果没有发现匹配,先去掉最后字符串中的最后一个字符,并再次尝试,如果还没有发现匹配,那么再次去掉最后一个字符,这个过程会一直重复下去直到发现匹配或不剩任何字符串,上面的简单量词都是贪婪量词。
    2008-06-06
  • 15/18位身份证号码验证的正则表达式总结(详细版)

    15/18位身份证号码验证的正则表达式总结(详细版)

    需要一个简单的验证身份证号的正则表达式,从网上查了很多,都有问题,所以干脆自己写一个,下面这篇文章主要给大家分享了关于15/18位身份证号码验证的正则表达式,文中介绍的非常详细,需要的朋友可以参考下。
    2017-03-03
  • 一个关于正则表达式的问题

    一个关于正则表达式的问题

    [蓝色]一个关于正则表达式的问题...
    2006-12-12
  • js 正则学习小记之匹配字符串字面量优化篇

    js 正则学习小记之匹配字符串字面量优化篇

    昨天在《js 正则学习小记之匹配字符串字面量》谈到 /"(?:\\.|[^"])*"/ 是个不错的表达式,因为可以满足我们的要求,所以这个表达式可用,但不一定是最好的
    2020-04-04

最新评论