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]*),.*");