C#正则表达式Regex类的用法

1.字符串替换

例如我想把如下格式记录中的NAME值修改为WANG

string line="ADDR=1234;NAME=ZHANG;PHONE=6789";

Regex reg = new Regex("NAME=(.+);");

string modified = reg.Replace(line, "NAME=WANG;");

修改后的字符串为 ADDR=1234;NAME=WANG;PHONE=6789

2.字符串匹配

例如我想提取刚才那条记录中的NAME值

Regex reg = new Regex("NAME=(.+);");

Match match=reg.Match(line);

string value=match.Groups[1].Value;

3、Match实例3

文本中含有"speed=30.2mph",需要提取该速度值,但是速度的单位可能是公制也可能是英制,mph,km/h,m/s都有可能;另外前后可能有空格。

string line="lane=1;speed=30.3mph;acceleration=2.5mph/s";

Regex reg=new Regex(@"speed\s*=\s*([\d\.]+)\s*(mph|km/h|m/s)*");

Match match=reg.Match(line);

那么在返回的结果中match.Groups[1].Value将含有数值,而match.Groups[2].Value将含有单位。

4、再比如,解码gps的GPRMC字符串,只需

Regex reg = new Regex(@"^\$GPRMC,[\d\.]*,[A|V],(-?[0-9]*\.?[0-9]+),([NS]*),(-?[0-9]*\.?[0-9]+),([EW]*),.*");

时间: 2024-10-25 02:29:05

C#正则表达式Regex类的用法的相关文章

C#正则表达式Regex类的使用

C#中为正则表达式的使用提供了非常强大的功能,这就是Regex类.这个包包含于System.Text.RegularExpressions命名空间下面,而这个命名空间所在DLL基本上在所有的项目模板中都不需要单独去添加引用,可以直接使用. 1.定义一个Regex类的实例 Regex regex = new Regex(@"\d");这里的初始化参数就是一个正则表达式,“\d”表示配置数字. 2.判断是否匹配 判断一个字符串,是否匹配一个正则表达式,在Regex对象中,可以使用Regex

C#正则表达式Regex类的介绍

一.在C#中,要使用正则表达式类,请在源文件开头处添加以下语句: using System.Text.RegularExpressions; 二.RegEx类常用的方法 1.静态Match方法 使用静态Match方法,可以得到源中第一个匹配模式的连续子串. 静态的Match方法有2个重载,分别是 Regex.Match(string input, string pattern); Regex.Match(string input, string pattern, RegexOptions opt

C#正则表达式编程(二):Regex类用法

上一篇讲述了在C#中有关正则表达式的类之间的关系,以及它们的方法,这一篇主要是将Regex这个类的用法的,关于Match及MatchCollection类会在下一篇讲到.对于正则表达式的应用,基本上可以分为验证.提取.分割和替换.仅仅利用Regex类就可以实现验证和简单替换.利用Regex类实现验证经历2009年的备案和DNS停止解析风波之后,大部分的带有反馈性的网站和论坛都对一些敏感词进行了过滤,包含有这类敏感词的文章要么内容被替换要么被禁止发表,利用Regex类就可以实现这个功能,下面是一个

C# Regex类用法

使用Regex类需要引用命名空间:using System.Text.RegularExpressions; 利用Regex类实现验证 示例1:注释的代码所起的作用是相同的,不过一个是静态方法,一个是实例方法 var source = "刘备关羽张飞孙权";//Regex regex = new Regex("孙权");//if (regex.IsMatch(source))//{// Console.WriteLine("字符串中包含有敏感词:孙权!&q

编写一个简单的正则表达式工具类

跟着视频的讲解,也亲手敲了这么一个正则表达式的类,感觉很不错,真是温故而知新,本来想把注释写的逼格高一点的,今天晚了有点累,先简单的写一下,有时间了再完善完善. <?php class regexTool{ //内置一些常用的正则表达式 private $validate = array( 'require'   =>  '/.+/', 'email'     =>  '/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/', 'url'    

正则表达式工具类

一个利用正则表达式来从文本中过滤提取数据的工具类.可以用来抓取网页后过滤所需的文本.^_^ 正则表达式语法规则可参考:http://blog.csdn.net/clementad/article/details/46661279 代码如下: package com.xjj.util; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.P

Hutool之正则表达式工具类——ReUtil

前言 在文本处理中,正则表达式几乎是全能的,但是Java的正则表达式有时候处理一些事情还是有些繁琐,所以我封装了部分常用功能.就比如说我要匹配一段文本中的某些部分,我们需要这样做: Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); Matcher matcher = pattern.matcher(content); if (matcher.find()) { String result= matcher.group(); } 其

4.C#学习之正则表达式&amp;&amp;Regex

正则表达式(Regular expressions)是一套语法匹配规则,各种语言,如Perl, .Net和Java都有其 对应的共享的正则表达式类库.在.Net中,这个类库叫做Regex. 以下是Regex下的几个静态方法: Escape: 对字符串中的regex中的转义符进行转义:       IsMatch: 如果表达式在字符串中匹配,该方法返回一个布尔值:       Match: 返回Match的实例:       Matches: 返回一系列的Match的方法:       Repla

正则表达式工具类单例

/// <summary> /// 正则表达式工具类单例 /// </summary> public class RegexTool { private static volatile RegexTool regex = null; private static object syncRoot = new Object(); /// <summary> /// 注册需要转换的类型 /// </summary> private RegexTool() { }