概述
什么是正则表达式
在学习python爬虫时,遇到一些网页的正则表达式,起初都不知道啥意思,故而去图书馆找了本正则表达式学习两下。
小知识:HTML代表超文本标记语言
XHTML扩展超文本标记语言
网页通常由大量文本组成,其中一部分是HTML,一部分为XHTML,其他则为常规文本,这些文本组合到一起就构成了可以通过正则表达式进行匹配的字符序列。
正则表达式的作用可以概括为:判断一个字符序列是否与一个模式相匹配。
它并没有统一的标准规范,在不同语言环境下正则表达式的语法不尽相同。
由于我所学的书籍里面使用了 OpenOffice.org Writer 这个文本编辑器(类似于office),所以自己下载了这个。
正则表达式可以用来做什么
- 查找重复的单词
- 检查表单web的输入
- 转换日期格式
- 发现错误的拼写
- 为URL添加链接
正则表达式工具和使用方法
打开cmd,如下如运行一个命令 findstr /? 就可出现结果:
在word、excle、StarOffice Writer等文字处理软件都会出现查询与替换,此时就会使用到正则表达式。
正则表达式的一些语法概括
-
\d\d\d 或者 [0-9][0-9][0-9]都是匹配三个连续数字,看支持的语境而选择使用
-
?通常表示前面的字符块出现0次或者1次,例如:
(1)匹配单个字符块时:colou?r 表示u可出现0次或1次
(2)匹配多个字符块时:colou?r’?s?’? -
*是一个限定符,表示字符块可出现0次或多次,例如: ABC[0-9]*表示字符ABC后面可能出现0个或多个数字
-
+表示字符块可能出现1次或多次,使用方法跟上面一样。
-
大括号语法:
(1){n}表示出现n次,例如:ABC[0-9]{n}表示数字出现n次
(2){n,m}表示最少出现n次,最多出现m次
(3){n, }表示至少n次,至无限多次