第二章 python分布式爬虫打造搜索引擎环境搭建 第二节正则表达式的学习和编写练习

第一,正则表达式介绍

1. 为什么必须会正则表达式?关于正则表达的详细介绍可查看篇官网的技术文档

       正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

2.熟悉掌握以下基本的正则表达式意义!

1)   ^ $ * ? + {2} {2, } {2,5}  | 

2)   [] [^] [a-z] .

3)   \s \S \w \W

4)   [\u4E00-\u9FA5] () \d

2. 正则表达式的简单应用及python示例

提取出字符串中的生日!我们知道,生日的写法有很多种,这里就以此为需求,按照要求筛选你需要的字符串!

import re
broth="我的生日是1991年02月14日" 
#broth="我的生日是1991-02-14" 
#broth="我的生日是1991-2-14" 
#broth="我的生日是1991/02/14" 
#broth="我的生日是1991/2/14" 
#broth="我的生日是1991年02月" 
#broth="我的生日是1991年02" 
regstr=".*生日是((\d{4}[年/-]\d{1,2})(([月/-]($|\d{1,2}))|$).*)" 
#regstr=".*([/年-])"  
objectMatch=re.match(regstr,broth) 
if objectMatch: 
	print(objectMatch.group(1))

这里需要注意一个东西就是[年/-]这个匹配的规则,其中只要调换顺序,python就报错了,[年-/]就是“-/”这样子组合就报错了,一直没搞明白为什么,如果看到这里的有人知道的话,麻烦给个解答,在此谢过了!下面给出报错的图:

到此,整个的基础知识算是介绍完了,接下来就开始项目的实战训练了!后面的知识才是重点,前面的这些都是为后面的开发做的准备,孰轻孰重一目了然!

猜你喜欢

转载自blog.csdn.net/u014135369/article/details/84252542