- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- C语言编程讲义.ppt
- C语言编程课后作业1讲义.docx
- C语言程序设计(第三版)-谭浩强讲义.ppt
- C语言程序设计初步(1-3)讲义.ppt
- C语言程序设计基础讲义.ppt
- C语言程序设计讲义.doc
- C语言程序设计课程设计(小结版)讲义.doc
- C语言程序设计试题A讲义.doc
- lx-拆除组织方案讲义.doc
- LX市场运作宝典(五势、答疑)讲义.doc
- 2021-2022学年广东省广州市南沙中考物理押题卷含解析 .pdf
- 2022-2023学年全国初中九年级下化学人教版月考试卷(含答案解析)084135.pdf
- 2021年湘教版七年级地理(下册)期中试卷及答案 .pdf
- 2021年九级中考数学压轴题满分训练 –几何综合问题(圆的专题)(二.pdf
- 1.1 集合的概念及表示-【新教材】人教A版(2019)高中数学必修一同步讲义.pdf
- 2022-2023学年广东省中考物理原题试卷附解析 .pdf
- (好题)初中数学七年级数学下册第六单元《概率初步》测试题(包含答案解 .pdf
- 2019九年级历史下册教案第12课-亚非拉民族民主运动的高涨.pdf
- 2021-2022学年沪科版八年级物理第九章 浮力综合测评试题(含解析).pdf
- 2022年全国中考数学试题真题汇编 一元一次方程(二) .pdf
最近下载
- 五四制初中一年级中华优秀传统文化教学设计.pptx VIP
- 《微生物与健康》课件科学六年级上册.pptx
- 七年级上册生物学《生物体的结构层次》单元作业设计.docx
- 电子信息工程职业规划 (第二版).pptx VIP
- 党的二十届三中全会精神测试题300道(单选、多选、判断、填空).docx VIP
- 部编教材年级识字课教学.ppt VIP
- 贵州省贵阳市2024-2025学年高一上学期10月联合考试(一) 数学 PDF版含解析.pdf
- 基于Android的个人生活行为记录及习惯养成平台的设计与实现-毕业设计.doc
- 中国传媒大学-节目主持艺术基础(第二版)-课件.pptx
- 纤维增强复合材料在建筑工程结构加固中的应用(经济论文资料).doc
文档评论(0)