00:00
Hello,各位小伙伴,欢迎大家来到学习原地啊,在前面的课程当中呢,已经给大家去介绍了我们数据解析当中的这个叉pass以及贝雷夫素普啊,那么前面这两个呢,都是我们在爬登当中啊,使用的非常啊方便快捷的这么一个工具啊,这么一个工具啊,那么在这一章节呢,主要给大家去讲解一下另外一个工具叫做R1正则表达式啊,也就是说我们所谓的神器啊,因为为什么呢,这个正则表达式呢,可以说是我们这个在呃N都的语言里边哈,它都通用的啊,所以比如说PP啊呃Java呀,比如说他们如果做发种的话,他们怎么做呢?如果他们没有其他的库支持,那么他们只能用呃用正德表达四来提取我们的内容,当然了,也不要认为说只能用正德表达四,就意味着说正德表达四不好用啊,其实是这样的,正德表达四呢,可能相对于我们之前的这个用法呢,相对有一点点复杂点,但是实际上是因为什么?是因为你这对这个内容不太熟悉,如果你对这个内容掌握的叭较好的话,那么正德表达四还是一个非常用的一个工具的啊,可友们看一下正德表达四在我们Python当中啊,它是我们的一个。啊,它是我们的一个呃拈哈,那么我们需要在导入之后才能去使用这个智能表达式哈,那么首先我们看一看啊,嗯,在使用之前我们去到我们Python的官网,然后看一下对它的一个介绍,python.org这个网站,然后点开doc doc之后呢,你进来之后呢,它会默认进入到当前的PYTHON3的版本里边的这个文档,而且默认它目前已经升级到3.8了哈,所以它是进到3.8,其实3.8和三点七一样啊,不过我建议大家呢,还是看我们3.7的完事以后呢,这边还可以选择语种啊,比如说我们可以选择简体中文啊,因为什么简体中文和我们的谷歌自带的翻译工具来讲呢,这个简体中文更友好一些,你要那个翻译的不一定特别准确,当然它这个也不一定很准确啊对好,那么接下来我们去看一下这个内容,总句看的就是找到我们Python3.7的这个官方文档以后呢啊,找到这个标准库的参考,然后往下往下翻一翻啊往下翻翻。
01:42
这里边专门有一项讲文本处理服务的啊,文本的处理服务,那么这里边是不是就有一个叫正则表达式啊,正则表达式操作好,那我们看一看啊,正则表达式他说这个模块呢,就是它是一个re模块,也就是说我们在后续呃,使用这个正则表达式的时候呢,需要把这个模块导进来啊,然后呢,与培尔这个语言类似的正则表达式操作符,也就是说是这样的啊,就是正则表达式它本身在很多种语言里边都支持啊,只不过在不同语言里面呢,表示呢方式和定义的方法呢有点不同,而且函数可能不一样,但是其他的这个表达式的表达方式是相同的啊,我们来看一下这里边啊,主要去做啊,他说这个正额表达式的一个语法如何去使用,对不对啊,然后告诉你呃,怎么去使用,怎么去做,然后还有包括一些图殊字符啊等等这些内容啊好,那我们来看一下啊。
02:24
首先我们来呃,给大家讲解一下这个正则表达式是什么?正则表达式啊,正则表达式啊这样吧,我这样直接带大家去写一个新的课件,我们在课件里边来给大家去讲解一下这个政治表达是吧?啊,因为在这个编辑工具里边写文档,这个工具里可能有时候编辑代码还不是太合适啊,我就写到这里啊,回头呢,把这个课件整理完之后,再给大家发过去啊来看一下,我们打开一个呃,我们的变音器啊,然后呢,在这里呢去。有有点慢啊。好打开以后呢,我在这里来右键选择新建文件啊,右键选择我们的新的拍摄文件,那我们这是我们的本节课,本章的第一节课啊,就是二一叫做正则正则模块,正则模块啊模块好来看一看啊,正则表达式的一个使用啊。
03:12
正则表达式啊,表达式,然后也就是我们的re模块,我们在使使用的时候呢,首先需要导入这个啊,是以inport啊,I p rt inport的re模块啊,先把它导入啊,导入以后呢,我们就可以是使用这个表正值表达式啊,那我们来先看一看这个正能表达式的一个定义,就是说我们得理解一下什么叫做正能表达式,对吧,实际上正能表达式是这样的,就是它使使用一种特殊的语法规则来帮我们完成什么呢?哎,帮我们完成这个叫正号的搜索呀,匹配啊等等这样的一个功能和要求,也就是说正则表达式啊,对它的一个解释啊,什么叫正表达式,就是正则表达式啊,就是使用,就是使用特殊的。特殊的啊,这个转译啊,特殊的一些啊,就是使用这个叫啊字符字符啊,然后包括转译字符字符和特殊字符啊字符组成一个组成一个规则组成啊一个啊一个规则啊一个规则,然后呢,使用这个规则,使用这个规则啊规则对这个文本内容吧,对文本的内容啊内容完成一个完成一个搜索啊搜索或匹配啊或匹配。
04:23
匹配啊或替换啊,或替换的一个功能替换。替换啊功能啊,也就是说这个俩式,首先增俩是由什么组成,由字态转移字符和特殊字符来组成,那么它们组成之后呢,形成一个规则,形成一规则,那么我们接下来呢,就使用这个规则,对文本的内容完成一个搜索或者匹配,或者是替换这样的一个功能啊,所以说这就是我们的正则表达式,当然正则表达式里边可以使用的啊,语法规则啊,正则正则表达式的啊这个啊组成吧啊组成啊,那可以有这个叫普通字块,普通字符,普通字符啊,普通字符就包含了,哎,我们正常的这个,比如说小写啊,大小写字母啊,大啊大小写。
05:05
大小写字母啊,字啊,字母字母啊,然后数字啊,数字符号数字,还有一些符号啊等等啊等等这一类,然后呢,除了这个普通字模块之外,还有一些转移字符,转移字符呢,它是比较多,但是一般来讲常用的就那么几个,比如说杠,有一个杠W,还有一个杠呃叫斜杠大W和一个杠D和一个杠,呃,斜杠大D啊,然后一个杠S和杠,呃斜杠大S啊,基本上就这么多啊,当然可能还有别的啊,还有别的对,基本上就这么多,然后呢,呃,还有一个就是就另外一个组合,就是我们的特殊符号,那么特殊字符。它字符有什么?有点啊,有点星啊,问号加号,中括号啊,等会啊呃,还有这个叫易字符啊,易字符,然后呢,Dollar符啊,到了符,然后呢,有中括号啊,有小括号,呃,还有什么啊,基本上就差不多这么多了啊,差不多啊,差不多就这么多啊,这是正则表达式的一个组成,当然了正能表达式的组成除了普通字符,转移字符和特殊字本以外,还有一个就是匹配模式啊匹配模式啊匹配模式啊匹配模式,匹配模式的话一般嗯用的不是特别多啊,我们可以简单调查,比如说这个I和这个叫,还有一个叫什么呢?叫一个U,呃,还有什么呢啊等等类似的吧,啊类似的我们可以看一下这个,呃,正能贝雅斯官方文档对它的一个介绍啊,然后就是你看啊,你看这个点是什么是吧?这个插入符号就是意符号是什么啊,然后到符是什么啊,星加号啊,问号,然后它们组合起来又是什么对吧?啊哦对,还有一个花括号嘛啊呃,中括号啊,然后还有个花框对吧?嗯,还有一个这个花框对,然后下边斜杠,嗯,然后还有什么竖竖线对吧?竖线啊,然后是或的意思啊。
06:41
往下找一找,它有一个我找他的匹配模式啊,匹配模式我们看一下在哪。呃,匹配模式啊,匹配模式哎,这个AA是一种啊,B是一种I啊忽略大家写对不对啊,然后呢,L是什么意思,M是什么对吧?然后S是什么,差是什么啊这些都是对应的那个匹配模式啊,匹配模式啊都有不同的模式啊啊那这就是我们呃对这个正值表达的模块的一个基本的介绍啊一个基本介绍,那我们来嗯先看一看哈,比如说嗯,怎么去使用吧啊我们来嗯看一看普通字符啊,怎么去匹配一个内容啊给大家也认识一下,好WS我在这里定一个字块叫l to s达好就定义这个普通的转,然后呢,接下来呢,我用我们的这个正值达式呢去定义一个内容,就是re,我定义成这个reg啊等于我们的斜线斜线啊。
07:27
是字符吧啊是符号啊,然后呢,比如说定义一个杠I love,比如说中间有个521啊521,我是这样的,我只知道这个字符号当中包含了一组数字,我想把这个数字给提取出来,那怎么办呢?我写一个杠D啊杠D好,然后呢,呃,怎么提取这个内容呢?下面这个位置呢,是我给大家写一下注册啊,这个位置是定义字块,定义字读块,然后这个位置呢,是定义啊,定义表达式,定义正则表。表达式啊,然后呢,定义完正则表达式以后呢,得去调用啊,调用正则的,调用正则的方法,正则函数方法啊,去获取一些数据,或者说匹配一些结果啊,比如说它这里边有一个方法叫做刚才看到了一个叫色词对吧?嗯,啊还有一个find,还有个色对吧?那么我们先找一个随便写一个啊,随便写一个I啊等于我们的这个叫re,点上re点上我们这个叫范的,它有一个范奥和find,我们先看find奥吧,好,然后呢,呃,Re调过来以后呢,我们去把这个谁啊,把我们的租号呀,放我看一下啊。
08:24
放到二啊,第一个是规则,第二个是字符号,也就是说我先把规则放进来,那就是reg,然后第二个呢,是放我们的要搜索的那个字号,也就把这两个参数给它传进来,最后呢,我们去看一下当前啊这个字符串,他给我们或者说这个发达号方法给我们法过的内容来运行脚们看一下啊来他返回了一个521,也就说是这样的啊,他会拿你这个这个杠地,我们先解释一下杠地什么意思呢?杠D就是代表一个数字,然后呢,犯二就是找这个列边的所有数字啊,他不一定说把这三个放在一起,它是找到一个就给你拿回来,一个找到一个拿回来,一个找到一个拿回来,哎,直到什么啊,知道符合,把这个从字符串从头到尾,把所有的这个符合这个呃要求的内容全部拿回来啊,就这样的一个结果,当然了,我也可以直接写成一个522信一,呃5201是不是作为我们普通字符当中的大开是字母或者是数字呀啊然后这种方式来运行我们脚本来看看它是否返回了一个五二十一对不对,呃,然后FIND2,我记得还有一个。
09:12
艾。我们看一下find,如果你用find的话,能看到一个列表的话,如果用find的话,呃,Find的话,我看到的是一个啊叫艾啊,艾是一个叫迭代器,对不对,迭代器啊,然后呢,也可以使用迭代器的方式啊来进行这个调用,也就是说你可以使用ne函数去调用这个res res的结果来运行调,我看一下啊看一下。看一下,他说这是re max的一个对象,然后呢,SPA就是你找到这个字符号的一个位置,然后ma的一个结果是五二信息,对,还有一个方法叫做res点。叫什么呢?嗯,Find艾特。叫做点吧,我记得好像,嗯,来看一下啊,我有点记不太清了。没有这个方法吗?啊,点太。没有的话叫什么呢?啊叫group啊,忘忘group啊叫group啊,调用一下这个group来运线标准,看一下人。
10:06
Group。不对吗?用正用这个叫。返回的对象去调用一下格尔普。Group,诶,我写错了吗?来我们看一下,看一下这个官方文档啊,我记得没有说啊艾嗯的非重复匹配了一个迭代器,嗯,保存的对象,然后呢,实卷从左到右扫描匹配,按照顺序排列,然后空间配也包含在结果当中。返回一个迭代器,我们看看啊迭代器,那我我不能这么取吗。这是一个迭代器,然后用迭代器啊,这样OI我们的res运行i.GG来。呃,我们在这里用嗯,用这个普函数来去打印一下这个结果,来看一下结果,来运行标度,看看521是不是拿到了啊拿到了啊,结果是521啊,这是可以的啊,这可以也就是说你可以用find啊find也可以用find啊find findo的话,直接获取的结果就是一个叫什么啊,就是一个那个呃列表啊,那这样的话,我们反而在获取的时候还嗯二一点。
11:15
啊,没有I啊,转到就可以了,嗯,它获取的结果直接是一个叫什么,直接是一个呃,叫做列表,那么这样的话,我们处理台处理起来反而更方便一些,对吧?好了,这就是我们当前的一个呃正德表式和它的一个基本使用啊来这正能表表示一个案例。啊,使用这叫使用正则表达式。表达是进行匹配的啊基本啊基本方法基本语法吧啊基本语法基本语法就这样的,你你得告诉我你在哪个字符块里边,然后呢,你告诉我人家想找什么东西,那么最终呢,你调用对应的函数来帮你去找到对应的对应的内容啊这样就OK了啊这是我们当年的这个正策表式,当然了,你可不要忘了把咱们这个ree的模块需要导入啊啊千万不要忘记导入这个模块就OK了啊好了,然后下边这个往往下提一下,OK好了,那这个是我们啊这节课给大家去介绍的,我们正呃正能量式的一个基本使用啊,大家有没有认识哈,那么接下来呢,呃,后面的话我们是这样在从下节课开始呢,我们主要是给大家去讲解一下,比如说普通字符,除了普通字符我就不挨个讲了,因为比如说我这里写了一个写了一个521,它就能找到这个521是吧,那我写一个love,它就能找到这个love,这个肯定是OK的,没有问题哈,但是呢,它不是所有的内容都是我们知道的,对吧?比如说就是这个字块我想提取的一个规则,那么我只是知道它有这个数字,但我不清楚啊,这个这个这个数字到底是什么内容,那我们怎么提取对吧?啊,通常情况下就是使用转移字符加匹配加克数的字符进行配合啊,配合以后呢,他们组成了一个规则,用这个整体的规则,这些我们正。
12:36
范啊,这个叫正则两式的一个搜索,或者叫啊搜索或者叫获取吧,好,这是我们当前的一个正则两的一个基本语法,好了,那么这节课呢,我们就先简单的给大家介绍这么多,那么从下个课开始啊,我们把这些啊,转移字符和规则的匹配啊,那么详细的给大家呢,去讲解一下,好了,那我们下节课再见。
我来说两句