00:00
接着来上课啊,咱们接着我们昨天来讲我们这个正则表达式啊。这面是呢,接下来我们来说一些内容啊,还是再回顾一下,这老师跟哪找语法呢?都在哪呢?还是找这个对象,这个re I,所有语法呢,都在下边这块啊在下边这块,那现在呢,我们来说一下,我要写这么一个东西啊,比如说来一个死keep的标签,我要写什么呢?诶写一个,诶创建一个这个正则表达式干嘛呢?检查一个字符串中是否。是否含有什么呢?含有我们这个,诶三个A啊,是否含有三个A,那这块这个正面是要怎么写,哎,Y一个reg等于一个斜杠鞋盖,我来什么呢?AAA这是三个A啊哎,三个A,然后我们来看结果,直接cancel.log一个这个reg点一个test test来什么呢?来一个AB CAC里边有没有三个呀,没有我这一保存,咱们来边改边看,你看什么样意false,哎,False来俩A,哎是不是也是false呀,来仨any是不是出了,哎出了,而且仨A干嘛呀,还得是不是还得挨着啊你写这。
01:23
已保存,反或呀,看有没有连续出现的那个三个A,这东西比较简单,但是我们看这么写有没有什么问题,三个A我这么写行,我想写什么呢?我想写六个A。CTRLCCTRL对吧,我要写什么呢?12Z。是不是这样写啊,哎,我想写3000个A,但是没有这个需求是吧?咱们假设我要写3000个A,那怎么办呀,我是不是一直往后写一长串呀,那这玩意儿这这这那是不是没完没了了,哎,是不是一堆A呀,哎,一堆,而且这玩意你数完,你洗完了以后干嘛呀,可读性也是什么呀,极差的啊,也是极差的,所以这种方式呢,写起来有点什么呀,它不太好,那么希望什么呢?采用一种更清楚的方式,那怎么办呢?那现在我就说要求什么呀,要求你的是一个A,诶我这么写干嘛呀,是不是一个A呀?哎,只找一个A,那要求你有A,同时这个A还得干嘛呀,还得连续出现。
02:19
是不是三次呀,哎,连续出现三次,所以接下来我们要说的什么呢?说的一个叫做我们这个量词,什么叫量词啊,是不是就是我们这个数量啊,哎,数量我们说什么呢?通过我们这个量词可以什么呢?可以设置我们一个内容出现的一个什么呀,次数啊,出现次数,那现在我希望什么呀?你出现A但是什么呢?如果你这么写表示什么意思啊,出现A几次一次啊,这么写表示正好一次啊,正好一次,那我希望什么呢?我希望你出现三次,怎么写呢?诶来一个后边跟着一个大块,大块里边写一个什么呀,三表示我要找这个谁呀,找这个A,同时这个A得连续出现三次啊,三次,所以这里边你如果直接写一个ABC1保存什么玩意儿,False来2A,我这一清空一保存是false呀,诶再来一个A3A清空一下,一保存走你什么玩意处,哎,所以这三表什么呢,正好我们这个三。
03:19
啊,正好三字,所以这是一种格式,那我说我要是出现3000字呢,你是不是就写3000呀?哎,当然没很少,没有这种奇葩的需求是吧?哎,没有这种需求啊,所以这边我们来说叫什么呢?我们说一第一种叫什么呢?大块里边来一个这个N叫什么呢?叫正好出现N次啊,正好出现N次,诶然后再想写一个,写什么呢?诶我要找一个什么呢?我写这么一个吧,直接写啊,不写注释了,直接RA等于什么呢?我这回是不是找A呀,我想找什么呢?这回想找找这么一个东西,Bababa,我想找这个东西,那这玩意怎么写呀,那是不是就是ABABAB出现三次呀,AABBABAB出现三次,那我一想ABB来个大块来什么呢?在是不是这样写呀?哎,那我来看看呗,Babab是这个效果呀,一保存走你哎呦fourth不对是吧。
04:19
这应该什么意思呀?A是不是三个B啊哎,A3个B我们再看走NY什么了处,哎,所以注意什么呢?你们叫什么呀,我们这个量词指对它是不是前边的这个一个内容起作用啊哎,所以他这块你写一个三,它只对谁呀,只对B起作用,那现在我想干嘛呀,我想告诉你这个三对AB起作用,那怎么办?诶我我是不是给AB给它圈起来呀,哎,怎么圈呢,来一个什么呀,是不是括号啊,表示我这AB它是什么呀?是一组的啊是一个,那这是表什么了,表示AB出现三次啊,AB出现三次这后再看一保存,诶是不是这回就fo了,改一个BABAB,然后呢,我这一保存走你是不是出了呀?哎,就出了啊,所以这块是这个效果,那我们现在看我写这么一个东西来什么呢?Reg等于一个这个AB,诶鞋盖鞋盖ABC,然后我是来什么呢?三那这表示什么意思?
05:20
哎,是不是A中间,然后一个中间得有什么呀?哎,你得有正好三个比啊正好三个B,我这保存是不是处啊,你说我有两个B走你什么玩意儿false,你说我有四个B保存是不是也负呀?哎,所以注意啊,A和B中间正好三个B啊,正好三个B,但是注意了,你如果不是这么写的,你是这么写的,来什么呢?Reg等于什么呢?等于一个这个斜杠鞋杠来一个B,然后来什么呢?来一个三,那这表示什么呀?是不是三个B啊,来三个B,但是你说我来这写一个123,是不是三个B啊,已保存什么玩意儿true,这时候表示正好三个B啊诶,但是我写四个币,你说它是处着说的是不是还是处啊,为什么还是true啊?这表示什么呀?找这里边是否有连续出现的三个B有没有啊,有就行了,哎,这个后边这是就不看了呀,哎,这找有没有啊,找有没有,所以这里边这块注意啊好,这是一。
06:20
走,然后把这往下挪啊,把这往下挪,然后我们再看,这是我们说的这个,那我们说除了这种情况,我们还有什么情况,我有可能需要什么呀,我需要你出现一到三次,哎,什么意思呀,你出现一次行,出现两次行,出现三次也行,但是干嘛呢?你不能没有或者什么呢,你不能出现更多的,那我怎么写呢?来来什么呢?一逗号一个三。那就表示什么呢?前边一个A,然后中间是一个B吧,这个B你得出现什么呀,一次倒三次不是或者啊一次倒三次什么意思,一次行不行,两次行不行,三次行不行,哎也行,然后最后是一个什么呀,是一个C,所以这个呢,我们来看一个ABC,我们看效果。
07:11
这一保存行不行?处是不是正好一次呀?来再来一个ABBC,这是两个两次吧,我一保存是不是也是处啊,再来一什么呢?来一个这个B1保存是不是也是true啊,哎,三个B再来一个,这是几个了,四个了一保存什么玩意儿false啊false,所以这块我们有一个叫什么呢?来一个这个大块来什么M逗号N叫什么呢?叫做出现我们这个M到N次啊,M到N次,M到N次诶还可以怎么写呢?看着啊,我这么写,写一什么呢?写一个三逗号四,这表示三到四次是吧?哎,不这么写来什么呢?三逗号这不写。存存,诶咱们来看效果啊,现在我写一个我一保存是不是false呀,写两个一保存是不是也是false呀,诶写三个已保存是不是错了,来我写四个,写五个已保存是不是也是错了,这表什么呀,三次以上啊三次以上,所以呢,这个是我们这么一个叫做叫做一个这个M逗号后面就不写了,叫做什么呢?叫做M次以上啊,M次以上啊,这是我们说的这个量词啊,这个量词,然后接下来呢,除了这几个呢,我们其实还有几个啊,往下看还有一些这个特殊的符号,我们这看啊量词,哎,除了这个几种还有什么呢?这还有一个叫什么呢?姜星还有一个什么呀。
08:38
问号啊,加星,还有一个问号,诶我们来看看什么效果,加叫什么呀?至少一个吧,哎,至少一个星表什么呀,零个或多个问号表示什么呢?零个或一个啊加星号,还有这个问号,我们来看什么效果,先来看我们这个加号,我这还是拿这个写直接reg等于什么呢?等于一个斜盖,然后AB,然后一个加上一个这个CA,诶AB加上一个CA,我们看加表什么意思呀,至少一个,至少一个,那现在我们来看,我这写一个ABC行不行?诶我已保存是不是错啊?诶我写ABC已保存是不是false呀?来一个ABC已保存行不行?哎,来四个B行不行,是不是也行啊?哎加表什么呀,至少一个啊,这也是一个量词,加呢,表示我们说至少一个相当于什么呢?相当于我们这个玩意儿一。
09:39
括号啊,至少一个啊,至少一个,还有谁呢?还有一个叫做一个星号,星号表示什么呢?咱们来看啊,现在我来一个AC,咱们看看行不行,我这一保存走你什么玩意儿true没有吧,诶来一什么呢?来一个这个B1保存是不是也是true啊,来一堆B,我一保存是不是也是处啊哎,那你发现星号干嘛呀,是不是有没有,有没有都成啊,哎有没有都成啊叫做一个星号,星号叫什么呢?表示什么呢?叫做哎零个哎或多个,哎零个或多个相当于什么呢?哎,相当于我们这个什么呀?嗯,零来一个逗号,哎就是一个有没有都行啊,有没有都行,这是一个,还有什么呢?还有一个这个问号,问号呢,来看看问号,我来一个还是来个AC保存什么玩意儿处,再来一个什么呢?来一个BD保存。
10:39
瑞也处啊来两个B1保存干嘛了?负你看零个行,一个是不是也行啊,诶所以这个表示什么呢?问号表示我们这个零个或一个啊,零个或一个相当于什么呢?相当于我们这什么呀,大括一个零逗号一个一,哎要么有,要么你就只有什么呀一个诶多了就不行了啊这是我们这么几个量词,这几个量词呢,其实你用他们都可以去代替,总共用他们稍微能省点事儿啊,稍微能省点事,这是我们说这个量词啊,这么量词,然后再看这个,就这个东西我们看完了啊,他住了,然后我们来看一个说一什么呢?我们要创建这么一个,我们要检查,检查一个字符串中是否含有什么呢?哎,是否以我们这个A开头,检查一个字符串是否以A开头,我一想,Red直接等于什么呀,斜盖来一个,诶,这行不行,Cancel点一个log来一个re点一个T,我来一个这。
11:39
个ABC是以A开头吧,True是false子呀,诶一保存是true吧,大家注意了,来一个什么呢?来一个BCAABC是不是以A开头了?E保存是不是还是处啊,但是它还是以A开头吗?不是,所以你这么写,表示是什么呀?表示是有没有A,我要你干嘛呀?你有A且A还得什么呀?开头啊,还得开头,那怎么办呢?
12:02
这来一什么呢?来一个这个小三角啊,在A头里加一个小三角,这三角跟那个中号里边这三角是干嘛呀一样的,但是意义完全不同,中号里边是除了吧,那么这表示什么呢?表示开头啊,三角表示我们什么呀?表示我们这个开头,所以表示什么呀?这三角表示一个开头,那哪个开头是不是这是开头啊,开头以后紧跟着一个谁呀A这样才行吧,哎,开头以后紧跟着一个A,那我们现在说它开头是紧跟着AA吗?不是吧,哎,不是来我一保存走你什么玩意儿false啊false,来一个ABCAABC,这是不是?哎,一保存是不是就是处了呀,所以这个小三角表示开头啊,开头以后紧跟着一个A,这个A就是什么呀,开头那个A啊,开头那个A,然后再来看还有什么呀,有开头还有什么呀,是不是结尾啊,结尾怎么写呢?来一个A来一个什么呢?Dollar符啊,Dollar符Dollar符表示什么的,Dollar符表示我们这个结尾什么意思呀,我这要找谁找A,且这个A后边就是什么呀,后边就是我这个字符串的一个什么呀,结尾了,换句话说,这个A后边干嘛呢?是不是不能有,不能有任何内容啊,哎,不能有任何内容,也就是说匹配我们这个结尾的那个,诶咱们来写一下啊,这是我们那个什么呀?哎,匹配我们这个开头的这个,诶那这一块呢,是匹配我们那个什么呀,结尾的,诶,那我们来看我这来一什么呢,现在这个东西结尾是不是A呀,结尾是C吧,我这一保存什么玩意儿,False,来一个这个结。
13:43
对,是不是A是了吧,我一保存走你是不是错了呀?哎,所以Dollar符表示一个这个什么呀,哎,结尾这小三角表示一个什么呀,开头啊开头来我们看,我写这么一个reg等于什么呢?斜杠斜盖,然后一个小三角一个A,然后呢,再来个德符,这什么意思啊?哎,你开头咱们看看,我们先说咱们先看吧,你先猜猜是吧,落个一个什么呢?Reg点一个菜字,我写这么一个,先写这么一个B吧,这对不对啊,这肯定不对吧?哎,这肯定不对,肯定是for来一个什么呢?三个A,这是出2FOR诶我一保存什么玩意fourth为啥是false呀,这B还是false,为什么是false呀,小三角表示一什么呀?开头就说我这开头以后我要找到什么,我要找到这个A吧,找到这个A以后,这个A干嘛呀,立刻就得什么呀,结尾就说白了,你什么呀,你这个A既是开。
14:43
头还得是结尾,那什么意思呀?你是不是只能有一个A啊?哎,只有一个A的情况才是什么呀?才是处,所以注意如果什么呢?如果在一个这个正则表达式中,哎,同时使用我们这个三角和我们这个倒是符则什么呢?则要求我们这个字符串必须什么呢?必须完全符合我们这什么呀?正则俩式啊,必须完全符合正表达式,所以你这三角Dollar符表示什么呀?你这正式B得什么呀?必须得是我们这个A只能是一个A,那你说我不想这么写,我想什么呀?以A开头或者干嘛呢?或者以A。
15:25
结尾那怎么办呀?哎,你中间来一个什么呀,竖道来一个这个是吧?哎,以A开头或者以A结尾,这样你写一个ABC1保存是不是true啊,诶,但是你来一个什么呢?BC1保存是不是false呀,但是你就来一个什么呢?来个A1保存是不是就是true啊,哎,True啊,这叫以A开头或者以A结尾啊,以A开头或者以A结尾,但是这块你删了表示什么呀,你必须得是一个,就只能是一个什么呀,A啊,只能是一个。好,这是我们说的这个这几个东西啊,回顾一下我们这有一个这个什么呀,量词啊,这么几种用法,还有一个我们这个三角表示这个开头,倒数表示这个结尾,那说完这个呢,来做一个小的一个练习,那么练习呢,我们来创建一个这个正则表达式干嘛呢?用来检查一个字符串是否是一个手机。
16:18
号啊,创建一个整表示检查一个字符串是否是一个手机号,什么意思呢?可能我有这么一个字符串,Y一个这个,诶for,诶for SR等于什么呢?等于一个这个1313567890123,诶我有这么一个东西,我要你干嘛呢?我要让你检查这个字符串是否是一个叫做什么呀,合法的手机号啊,是否是一个合法的手机号,那现在我们来说,那这块我要怎么写,那首先我们说了,那是不是我要先用正则表达式把这个手机号的规则给它定义出来呀,然后再用这个正则表达式去检查这个字符串吧,哎,那你要定义那个正则的规则,你是不是先得说,你得自己先得清楚这个手机号什么规则呀?诶我们来说一下手机号的一个规则。
17:10
诶,那我们先把这东西给它粘过来啊,咱们就着这说,首先手机号我们先说一个一个来说啊,首先手机号它一共多少位啊,哎,是不是一共是11位啊,哎,11位,然后我们从头往后说啊,咱们都是从左往右写的,从头往后说,第一位是什么呀?是一个一,咱们把特殊给弄出来,第一位比较特殊,第二位比较特殊,剩下其实都不特殊啊,剩下都不特殊,我们说第一位什么特殊手机号第一位干嘛?哎,是不是以这个什么呀,以一开头吧,哎,手机号必须得以一开头,你没有说一个我手机号是三级级的是吧,四级几的,咱们中国都是什么呀?以一开头,哎,然后呢,第二个,第二位呢,第二位有没有要求,没有要求啊,第二位有没有,有没有是幺的呀,你没有没有听过谁手机号是幺幺几的呀,哎,我跟你说我手机号是1103456789,你打不打呀,你打到110的时候就已经通了是吧?哎,你打110通了,所以第二位能不能是幺啊,哎,不能是,能不能是零啊,能不能是零啊。
18:10
哎,我告诉你手机号是10100868764,你打不打呀,你可以打是吧,打你打到10086是不是就通了呀,能不能是二啊,诶二是一样的,我说我手机号1203456789,哎还是那句话,是不是打到120就通了呀,所以第二位能不能是012啊,不能三可不可以,哎3456789是不是都行啊?哎,所以第二位什么呢?第二位是什么呀?是我们这个三到九啊,第二位是三到九的这个任意数字,1331343536373839都有是吧?诶都有。那是我们说这个啊,哎,不是幺幺,就是应该13141516171819是吧,现在到幺七了是吧,幺八也有九,幺九有吗?幺九还没有呢是吧?可能未来会有的是吧,那就不管了啊然后接着来说,这是我们说第二位,然后第三位有没有规则了,第三位是不就随便写了呀?哎第三位随便写了,但是我们来说,诶三位以后任意数字,但是长度有没有限制,长度有没有限制,长度多少,是不是九位啊,因为前边我第一位第二位是不是已经占了两个了,后边三位是不是只能是第第三位,往后是不是一共是九位啊哎,所以三位以后干嘛呢?哎,任意数字九个啊,三位以后任意数字九个,那好,那咱们现在看这东西我怎么写,首先呢,以一开头,它怎么写呀?诶是不是三角一啊,哎,以一开头,然后第二位。
19:46
诶,是什么呀,三到九之间的这个任意数字吧,而且注意啊,一开头我这个一是不是只有一位啊,一位你还用不用这么写量子了,不用了,你默认是不是就是一位啊,然后再往下写第二位三到九之间的任意数字怎么写呀?诶是不是三杠九啊,诶三到九之间任意数字也是一位,还用不用写量词了,不用,然后第三位以后是什么?哎,是不是零到九这个任意数字呀?哎,有没有数量限制啊,九位吧,所以来一个大块来什么呀,九正好九次,而且你要注意了,他后边还能没有其他内容了。
20:21
不能了吧,它是不是得是我们手机号的一个这个结尾啊,哎,所以注意你还得写什么呀,写一个Dollar符,表示它之后不能再有其他内容啊,不能再有其他内容了,好,那这个正则我们就写完了,我们来看看怎么写规则,我们分析好了,这是第一位的规则,这是第二位的规则,这是剩下那几位的规则吧,诶,所以这块你注意啊,我们定义规则的时候,你看我写这手机号的时候,也是把手机号分成什么呀,分成了。三个部分吧,然后一个部分一个部分去定义吧,但你写的时候只需要来了,把它们给它连一块就行啊,连一块就行,直接来一个Y,一个我们这个p phone,一个re,等于一个斜杠斜盖,然后呢,把这一堆给它CTRLCCTRLV给它粘过来。
21:03
这玩意儿都给他。空格,他们之间空格给他。去掉这也是给它去掉这是不是就创建好了一个这个中表示啊,诶我们来看看行不行,直接来一个cancel.log一个这个phone p phone点一我们这个phone s测试我们这个这个保存,我们看这应该是一个法的是吧,二四六八十十一位对吧,诶我这一保存什么玩意处来我来一个我的电话是110。67890123是吧,来我这一保存走你force诶诶我是1001保存是不是也是force呀?诶我是1201保存还是false呀,来改成130130行不行,诶是不是就处了呀?哎就OK了啊你看着我这手机号是干嘛呢?我这有一个这个这么一玩意,诶这是1O是吧?那这1O我一保存走你干嘛了fourth啊那我不这来干嘛呢?我手机号比较长,手机号干嘛呢?13位了。
22:07
我这保存走,你是不是又是first了,哎,又是first啊,所以这块注意我们那个正表创建完了,但是你要注意一点,诶你说我这个三角还有这Dollar符,我不写行不行,不写行不行,我现在不写,我现在这是处是FALSE1保存是不是处啊哎来我来一个110处是false是不false呀,也行,那差哪了,诶有的时候是这种情况,前边呢一堆,后边呢一堆,然后就改成130,那我问你这个它会返回处还是返回for,诶是不是处啊,但是应该返回什么呀?是不是应该返回for呀,但是这个东西它会返回了一个什么呀?哎处为什么返回处,那你这么写表示什么呀?表示去这个字符串里找有没有手机号,这边有没有手机号啊,有,所以是不是反回错了呀,所以注意咱们要求什么呀,你不仅有,而且你只能是一个什么呀,只能是一个手机号啊,只能是一个手机号,所以注意。
23:08
一般情况下,我们这个什么呀,三角和这Dollar符必须都给什么呀,加上表上什么呀,你这个字符串里完全符合我这个正则的一个什么呀,需求啊,完全符合这要求,这是保存是不就是false了,哎,False啊,所以这块一定要注意好,那这个呢是我们说正则表达式,咱们就呢说了一部分语法,还有一点呢,我们待会再说,先停一下自己来。
我来说两句