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

Posted 烽火狼烟-秦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]*),.*");

 

以上是关于C#正则表达式Regex类的用法的主要内容,如果未能解决你的问题,请参考以下文章

C# 正则表达式大全

C# 正则表达式大全

C# 正则表达式大全

c#用正则表达式提取小括号中的内容

C#正则验证大全 Regex.IsMatch()正则表达式验证

C#正则验证大全 Regex.IsMatch()正则表达式验证