Regex类表示.NET Framework 正则表达式引擎。可用于快速分析大量的文本来查找特定的字符模式 ;若要提取,编辑、 替换或删除文本子字符串 ;并将提取的字符串添加到集合以生成报告。
一、正则表达式类Regex类用法
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Text.RegularExpressions;
- namespace TestRegex
- {
- class Program
- {
- static void Main(string[] args)
- {
- replaceString();
- getFieldValue();
- getSpecifyValue();
- judgeJSONString();
- Console.ReadLine();
- }
- static void replaceString()
- {
- string line = "ADDR=1234;NAME=ZHANG;PHONE=6789";
- Regex reg = new Regex("NAME=(.+);");
- string modified = reg.Replace(line, "NAME=WANG;");
- Console.WriteLine(modified + "\n");
- }
- ///
-
- /// 抽取某些特征数据
- ///
-
- ///
- static void getFieldValue()
- {
- string content =
- "src=C:\\Users\\Administrator\\Desktop\\WeixinImg\\08.jpg\r\nDOS图片1\r\nsrc=C:\\Users\\Administrator\\Desktop\\WeixinImg\\10.jpg\r\nDOS图片2\r\n";
- Regex reg = new Regex(@"src=(.+)");
-
- List urlList = new List();
- /* 遍历源串,取出所有的src=后面的地址 */
- foreach (Match re in reg.Matches(content))
- {
- Console.WriteLine("{0}", re.Groups[1].Value);
- }
- }
- static void getSpecifyValue()
- {
- 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);
- Console.WriteLine(match + "\n");
- }
- static void judgeJSONString()
- {
- string testData =
- "{\"url\":\"http:\\/\\/mmbiz.qpic.cn\\/mmbiz\\/1Y1o1ZhehiaBibw7nnxg20e67JrhWsWOmEYZz9TKah84LlNZGr89iclu965hdWkibQJ5S51icvH4nHrmnBwpEvbibr0w\\/0\"}";
- Regex rgx = new Regex(@"\{.*\}", RegexOptions.IgnoreCase);
- if (rgx.IsMatch(testData))
- {
- testData = rgx.Match(testData).Value;
- Console.WriteLine("string is JSON!");
- Console.WriteLine(testData);
- }
- else
- Console.WriteLine("string isn't JSON!");
- }
- }
- }
二、正则表达式符号模式:
说明:
由于在正则表达式中“ \ ”、“ ? ”、“ * ”、“ ^ ”、“ $ ”、“ + ”、“(”、“)”、“ | ”、“ { ”、“ [ ”等字符已经具有一定特殊意义,如果需要用它们的原始意义,则应该对它进行转义,例如希 望在字符串中至少有一个“ \ ”,那么正则表达式应该这么写: \\+ 。
参考文献:
http://www.studyofnet.com/news/297.html
https://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex(v=vs.110).aspx