C正则表达式之Regex类用法详解讲义.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#正则表达式之Regex类用法详解 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串,正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法。 Regex 类表示不可变(只读)的正则表达式。它还包含各种静态方法,允许在不显式创建其他类的实例的情况下使用其他正则表达式类。 正则表达式基础概述 什么是正则表达式 在编写字符串的处理程序时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。 通常,我们在使用WINDOWS查找文件时,会使用通配符(*和?)。如果你想查找某个目录下的所有Word文档时,你就可以使用*.doc进行查找,在这里,*就被解释为任意字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂。 一、C#正则表达式符号模式 字  符 描  述 \ 转义字符,将一个具有特殊功能的字符转义为一个普通字符,或反过来 ^ 匹配输入字符串的开始位置 $ 匹配输入字符串的结束位置 * 匹配前面的零次或多次的子表达式 + 匹配前面的一次或多次的子表达式 ? 匹配前面的零次或一次的子表达式 {n} n是一个非负整数,匹配前面的n次子表达式 {n,} n是一个非负整数,至少匹配前面的n次子表达式 {n,m} m和n均为非负整数,其中n=m,最少匹配n次且最多匹配m次 ? 当该字符紧跟在其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式尽可能少的匹配所搜索的字符串 . 匹配除“\n”之外的任何单个字符 (pattern) 匹配pattern并获取这一匹配 (?:pattern) 匹配pattern但不获取匹配结果 (?=pattern) 正向预查,在任何匹配pattern的字符串开始处匹配查找字符串 (?!pattern) 负向预查,在任何不匹配pattern的字符串开始处匹配查找字符串 x|y 匹配x或y。例如,‘z|food能匹配“z”或“food”。‘(z|f)ood则匹配“zood”或“food” [xyz] 字符集合。匹配所包含的任意一个字符。例如,‘[abc]可以匹配“plain”中的‘a [^xyz] 负值字符集合。匹配未包含的任意字符。例如,‘[^abc]可以匹配“plain”中的‘p [a-z] 匹配指定范围内的任意字符。例如,‘[a-z]可以匹配a到z范围内的任意小写字母字符 [^a-z] 匹配不在指定范围内的任意字符。例如,‘[^a-z]可以匹配不在‘a~‘z内的任意字符 \b 匹配一个单词边界,指单词和空格间的位置 \B 匹配非单词边界 \d 匹配一个数字字符,等价于[0-9] \D 匹配一个非数字字符,等价于[^0-9] \f 匹配一个换页符 \n 匹配一个换行符 \r 匹配一个回车符 \s 匹配任何空白字符,包括空格、制表符、换页符等 \S 匹配任何非空白字符 \t 匹配一个制表符 \v 匹配一个垂直制表符。等价于\x0b和\cK \w 匹配包括下划线的任何单词字符。等价于‘[A-Za-z0-9_] \W 匹配任何非单词字符。等价于‘[^A-Za-z0-9_] 说明: 由于在正则表达式中“ \ ”、“ ? ”、“ * ”、“ ^ ”、“ $ ”、“ + ”、“(”、“)”、“ | ”、“ { ”、“ [ ”等字符已经具有一定特殊意义,如果需要用它们的原始意义,则应该对它进行转义,例如希 望在字符串中至少有一个“ \ ”,那么正则表达式应该这么写: \\+ 。 二、在C#中,要使用正则表达式类,请在源文件开头处添加以下语句: 复制代码 代码如下: using Sressions; 三、RegEx类常用的方法 1、静态Match方法 使用静态Match方法,可以得到源中第一个匹配模式的连续子串。 静态的Match方法有2个重载,分别是 Regex.Match(string input, string pattern); Regex.Match(string input, string pattern, RegexOptions options); 第一种重载的参数表示:输入、模式 第二种重载的参数表示:输入、模式、RegexOptions枚举的“按位或”组合。 RegexOptions枚举的有效值是: Complied表示编译此模式 CultureInvariant表示不考虑文化背景 ECMAScript表示符合ECMAScript,这个值只能和IgnoreCase、Multiline、Complied连用 Explicit

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档