正则表达式 regex

正则表达式 regex

ID:12562512

大小:141.50 KB

页数:8页

时间:2018-07-17

正则表达式 regex_第1页
正则表达式 regex_第2页
正则表达式 regex_第3页
正则表达式 regex_第4页
正则表达式 regex_第5页
资源描述:

《正则表达式 regex》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、正则表达式相信大家都有在电脑上查找某个文件的经历,例如需要把C盘中的所有Word文档给找出来,很简单,只需要按“Ctrl+F”快捷键,调出系统的搜索窗口,然后在文件名窗口输入“*.doc”,单击“搜索”按钮后Windows就会找到所有的Word文档。如果改变搜索目标,改为“w*.doc”,那么Windows就会找出所有以字母w开头的Word文档。为什么Windows知道我们要找的是Word文档?为什么它会把所有的Word文档都找出来?秘密就是“*.doc”。这里的*是通配符,表示文件名不限,可以匹配任何的文件名而.doc是扩展名。可见,就是这样一个描述了查询目标特征的字符串,让系统了解

2、了我们的查询目标。正则表达式也类似一个字符串,它描述了目标字符串的特征。正则表达式引擎正是使用这种特征,实现了在一在堆的字符串中查找或者替换我们符合要求的字符串。先来看一个简单的正则表达式:“hi”,使用这个正则表达式可以在“aabbhibbaahiaa”中将两个“hi”字符串给找出来,.NET还提供了一些非常复杂的类来识别字符串,或从长字符串中提取满足某些复杂条件的子字符串。例如,找出字符串中重复出现的某个字符或一组字符,或者找出以s开头、且至少包含一个n的所有单词,或者找出遵循雇员ID或社会安全号码约定的字符串。虽然可以使用String类,编写方法来执行这类处理,但这类方法编写起来

3、比较繁琐,而使用System.Text.RegularExpressions命名空间中的类就比较简单,System.Text.RegularExpressions专门用于执行这类处理。正则表达式在很多领域都得到了广泛的应用,例如:l在B/S应用程序前端表达验证中,我们使用正则表达式来验证诸如电子邮件、网址、日期等的格式是否正确,以及用户名、密码的合法性等。l在网络爬虫应用程序中,可以使用正则表达式来分析网页的源代码HTML,找出其中的URL等有用信息。l在文本/代码编辑器应用程序中,可以使用正则表达式来查找某个特定的字符,甚至可以将之替换为别的特定字符串。正则表达式的语法很多语言都提供

4、了对于正则表达工的支持,C#自然也不例外。使用正则表达式处理文本或字符串至少要有两个输入项,然后正则表达式引擎才可以根据这两个输入来输入来输出结果。这两个输入如下。l使用正则表达式语法编写的模式字符串。正则表达式有其独待的语法定义,虽然很多语言都支持正则表达式,但其语法不尽相同,C#中支持的正则表达式语法和Perl5中的语法相兼容,而且还添加了一些其他特性,诸如从右到左匹配。l需要分析的文本或者字符串。第二项不需多说,关键在于第一个输入项。要编写一个模式字符串,就需要十分地熟悉正则表达式语法,这也是本节的目标。由于正则表达式的内容实在太多,因此这里挑选了一些比较重要的,或者比较常用的部

5、分语法进行介绍。正则表达式的语法内容主要分成如下几个部分:字符转义、定位点、字符类、限定类、分构造以及替换构造。1.字符转义这里的转意字符主要是指当一个反斜杠()和某些字符放在一起时代表一些特殊含义,主要包括以下两种情况l其后的字符是一个特殊字符。例如:b指示正则表达式匹配应在单词边界上开始的定位点,t表示一个制表符,而x020表示空格。l按某些字符的愿意解释,避免解释成其他含义。例如:大括号“{”是开始限定符的定义,但反斜杠后接大括号“{”表示正则表达式引擎应匹配大括号。同样,一个反斜械标志转义语言构造的开头,但两个反斜杠(\)则指示正则表达式引擎应匹配反斜杠()。正则

6、表达式字符转义列表转义字符说明将下一个字符标记为一个特殊字符、一个原义字符、一个向后引用或一个八进制转义字符。f匹配一个换页符匹配一个换行符r匹配一个回车符t匹配一个制表符v匹配一个垂直制表符cx匹配由x指明的控制字符。例如,‘cM’匹配一个Control-M或回车符。c的值必须为A-Z或a-z之一。否则,将c将视为一个原义的“c”字符。xnn匹配n,其中n为十六进制转义值。十六进制转义值必须确定的两个数字长。例如,‘x41’匹配“A”。‘x041’则等价于‘x04’&“1”。正则表达式可以用ASCII编码。unnnn匹配n,其中n是一个用四个十六进制数字表示

7、的Unicode字符。例如,u00A9匹配版权符号(?)2.定位点定位点主要作用是指示字符串中必须发生匹配的位置,如果正则表达式中使用了定位点,那么引擎就不会在字符串的其他位置搜索,而是只在定位点指示的位置搜索,例如:$指示必须从字符串的末尾或者行尾开始搜索,而^则指示从开头开始搜索,具体的定点列表如表所示。元素说明示例匹配的示例^匹配必须从字符串或一行的开头开始。^d匹配“206”的2$匹配必须出现在字符串的末尾或出现在字符串末尾的之

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。