正则表达式类Regex类用法探究

简介:     Regex类表示.NET Framework 正则表达式引擎。可用于快速分析大量的文本来查找特定的字符模式 ;若要提取,编辑、 替换或删除文本子字符串 ;并将提取的字符串添加到集合以生成报告。

    Regex类表示.NET Framework 正则表达式引擎。可用于快速分析大量的文本来查找特定的字符模式 ;若要提取,编辑、 替换或删除文本子字符串 ;并将提取的字符串添加到集合以生成报告。

一、正则表达式类Regex类用法

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. namespace TestRegex
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             replaceString();
  13.             getFieldValue();
  14.             getSpecifyValue();
  15.             judgeJSONString();
  16.             Console.ReadLine();
  17.         }
  18.         static void replaceString()
  19.         {
  20.             string line = "ADDR=1234;NAME=ZHANG;PHONE=6789";
  21.             Regex reg = new Regex("NAME=(.+);");
  22.             string modified = reg.Replace(line, "NAME=WANG;");
  23.             Console.WriteLine(modified + "\n");
  24.         }
  25.         ///

  26.         /// 抽取某些特征数据
  27.         ///

  28.         ///
  29.         static void getFieldValue()
  30.         {
  31.             string content = 
  32.   "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";
  33.             Regex reg = new Regex(@"src=(.+)");

  34.             List urlList = new List();
  35.             /* 遍历源串,取出所有的src=后面的地址 */
  36.             foreach (Match re in reg.Matches(content))
  37.             {
  38.                 Console.WriteLine("{0}", re.Groups[1].Value);
  39.             }
  40.         }
  41.         static void getSpecifyValue()
  42.         {
  43.             string line = "lane=1;speed=30.3mph;acceleration=2.5mph/s";
  44.             Regex reg = new Regex(@"speed\s*=\s*([\d\.]+)\s*(mph|km/h|m/s)*");
  45.             Match match = reg.Match(line);
  46.             Console.WriteLine(match + "\n");
  47.         }
  48.         static void judgeJSONString()
  49.         {
  50.             string testData = 
  51. "{\"url\":\"http:\\/\\/mmbiz.qpic.cn\\/mmbiz\\/1Y1o1ZhehiaBibw7nnxg20e67JrhWsWOmEYZz9TKah84LlNZGr89iclu965hdWkibQJ5S51icvH4nHrmnBwpEvbibr0w\\/0\"}";
  52.             Regex rgx = new Regex(@"\{.*\}", RegexOptions.IgnoreCase);
  53.             if (rgx.IsMatch(testData))
  54.             {
  55.                 testData = rgx.Match(testData).Value;
  56.                 Console.WriteLine("string is JSON!");
  57.                 Console.WriteLine(testData);
  58.             }
  59.             else
  60.                 Console.WriteLine("string isn't JSON!");
  61.         }
  62.     }
  63. }


image

二、正则表达式符号模式:

image

image

image

说明:

    由于在正则表达式中“ \ ”、“ ? ”、“ * ”、“ ^ ”、“ $ ”、“ + ”、“(”、“)”、“ | ”、“ { ”、“ [ ”等字符已经具有一定特殊意义,如果需要用它们的原始意义,则应该对它进行转义,例如希 望在字符串中至少有一个“ \ ”,那么正则表达式应该这么写: \\+ 。


参考文献:

http://www.studyofnet.com/news/297.html

https://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex(v=vs.110).aspx

相关文章
|
4月前
正则表达式的限定符、或运算符、字符类、元字符、贪婪/懒惰匹配
本文介绍了正则表达式中的限定符、或运算符、字符类、元字符以及贪婪与懒惰匹配的概念和用法。
42 5
|
6月前
|
人工智能 Java 数据格式
JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)
JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)
48 3
|
5月前
|
存储 C++ 容器
C++一分钟之-正则表达式库(regex)
【7月更文挑战第7天】C++从C++11开始支持正则表达式,通过`<regex>`库提供功能。本文涵盖基本概念如`std::regex`、`std::smatch`,以及`regex_search`和`regex_match`的使用。常见问题包括大小写敏感性、特殊字符转义、贪婪与非贪婪匹配和捕获组。提供的代码示例展示了如何进行匹配、不区分大小写的匹配、特殊字符匹配、贪婪与非贪婪匹配和捕获组的使用。理解并练习正则表达式能提升文本处理效率。
100 0
|
7月前
|
机器学习/深度学习 Python
正则表达式(Regular Expression,常简写为regex或regexp)是一种强大的文本处理工具
【5月更文挑战第12天】正则表达式是文本处理工具,Python的re模块支持其使用。元字符如.、*、+、?等在正则表达式中具有特殊含义,用于指定匹配规则。示例中,通过正则表达式模式匹配字符串中的电子邮件地址,并使用re.findall()找出所有匹配项。
82 4
|
7月前
|
Python
正则表达式高级用法
正则表达式是强大的文本匹配工具,常用于搜索、匹配和验证字符串。高级用法包括:捕获组(区分需要提取的内容)、非捕获组(减少开销)、零宽断言(定位匹配位置)、反向引用(匹配相同内容)、嵌入代码(实现复杂逻辑)、贪婪与非贪婪匹配(控制匹配范围)和递归匹配(处理嵌套结构)。了解这些高级技巧能提升字符串操作效率。示例展示了验证Email、电话号码、提取URL和清理多余空格的正则表达式应用。
|
7月前
|
监控 JavaScript 前端开发
|
7月前
|
机器学习/深度学习 Python
请解释Python中的正则表达式是什么?并举例说明其用法。
【2月更文挑战第26天】【2月更文挑战第86篇】请解释Python中的正则表达式是什么?并举例说明其用法。
43 2
|
7月前
|
安全
正则表达式(Regular Expression,简称regex或regexp)
正则表达式(Regular Expression,简称regex或regexp)
192 2
|
7月前
|
缓存 数据安全/隐私保护 Python
Python快速入门:类、文件操作、正则表达式
Python快速入门:类、文件操作、正则表达式
|
7月前
|
Python
在Python中,如何使用`regex`库进行正则表达式匹配?
在Python中,如何使用`regex`库进行正则表达式匹配?
71 0