1 / 11
文档名称:

正则表达式.pdf

格式:pdf   大小:185KB   页数:11页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

正则表达式.pdf

上传人:Gebu 2021/10/27 文件大小:185 KB

下载得到文件列表

正则表达式.pdf

文档介绍

文档介绍:正则表达式 30 分钟入门教程(第二版)
本文目标
30 分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网
页里使用它。
如何使用本教程
别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并不像你想
像中的那么困难。当然,如果你看完了这篇教程之后发现自己明白了 很多,却又几乎什么都记不
得,那也是很正常的——其实我认为没接触过正则表达式的人在看完这篇教程后能把提到过的语法记
住 80%以上的可能性为零。这里只 是让你明白基本道理,以后你还需要多练****多查资料,才能熟练
掌握正则表达式。
除了作为入门教程之外,本文还试图成为可以在日常工作中使用的正则表达式语法参考手册(就
作者本人的经历来说,这个目标还是完成得不错的)。
文本格式约定:专业术语 元字符/语法格式 正则表达式 正则表达式中的一部分(用于分析) 用
于在其中搜索的字符串 对正则表达式或其中一部分的说明
什么是正则表达式?
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达
式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
很可能你使用过 Windows/Dos 下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找
某个目录下的所有的 Word 文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配
符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符它能更精确地描述你的需求—
—当然,代价就是更复杂。比如你可以编写一个正则表达式来查找所有以 0 开头,后面跟着 2-3 个数
字,然后是一个连字号“-”,最后是 7 或 8 位数字的字符串(像 010-12345678 或 0376-7654321)。
正则表达式是用于进行文本匹配的工具,所以本文里多次提到了在字符串里搜索/查找,这种说
法的意思是在给定的字符串中,寻找与给定的正则表达式相匹配的部分。有可能字符串里有不止一个
部分满足给定的正则表达式,这时每一个这样的部分被称为一个匹配。匹配在本文里可能会有三种意
思:一种是形容词性的,比如说一个字符串匹配一个表达式;一种是动词性的,比如说在字符串里匹
配正则表达式;还有一种是名词性的,就是刚刚说到的“字符串中满足给定的正则表达式的一部
分”。
入门
学****正则表达式的最好方法是从例子开始,理解例子之后再自己对例子进行修改,实验。下面给
出了不少简单的例子,并对它们作了详细的说明。
假设你在一篇英文小说里查找 hi,你可以使用正则正则表达式 hi。
这是最简单的正则表达式了,它可以精确匹配这样的字符串:由两个字符组成,前一个字符是 h,
后一个是 i。通常,处理正则表达式的工具会提供一个忽略大小写的选项,如果选中了这个选项,它
可以匹配 hi,HI,Hi,hI 这四种情况中的任意一种。
不幸的是,很多单词里包含 hi 这两个连续的字符,比如 him,history,high 等等。用 hi 来查找
的话,这里边的 hi 也会被找出来。如果要精确地查找 hi 这个单词的话,我们应该使用\bhi\b。
\b 是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单
词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格或标点符号或换行来分隔的,
但是\b 并不匹配这些单词分隔符中的任何一个,它只匹配一个位置。(如果需要更精确的说法,\b
匹配这样的位置:它的前一个字符和后一个字符不全是\w)
假如你要找的是 hi 后面不远处跟着一个 Lucy,你应该用\bhi\b.*\bLu