00:00
那我们就来上课,那么上节课呢,我们介绍完我们的原子,那这节课我们再来看一下我们的原子符啊,也叫原子修饰符,那咱们来看,比如说我有这么样一个需求啊,比如说在。我新建一个叫做零五啊pet。严岗。这个原子原子符。那一样啊,这些东西我们通通给他都。删掉啊,删掉以后咱们来看啊,比如说这块。我有这么一个需求,什么需求呢?就是我想匹配go。对吧,匹配谷歌,那好了,那这里边我是不是要匹配谷歌的话,我是不是就可以写GOOJ对吧?哎,因为这些我都是按照顺序出的,所以我们再去匹配的时候,是不是也要改成按照顺序来啊,所以这里边你看到了,比如说返回来刷新,只要在这个字符字符串中任何东西都行,现在我来匹配肯定是匹配不到了,但它只要我连续出现的to是不是就可以诶。GOOGLE。
01:03
啊,不行,因为他提交的页面我们没换嘛,那也就是零四,这里边我们提交的页面而不再是它了,而是变成零五了,对吧?来零五好提交到这里,那现在我们再来看啊,重新刷新一下来匹配任意一个字母串走,你这是不行的,对吧,但这里面只有连续出现的goo。你看光有go型吗?是不不行了,哎,必须有连续出现的什么go Google o Le,诶这个时候是不是才能匹配到这个go Le啊,对吧,也就是说当我把这个GOO啊匹配成功啊,好了,当我在这里边。直接固定的写好这些内容的时候,那我的字符串必须是要有这一串内容才可以,对不对?那我现在想做的什么呢?就你匹配gole没问题,我想说的是你匹配go或者是go是指这个O可以有也可以没有,对吧?哎,都能匹配成功,但现在你看行吗?比如说现在我匹配go,这是没问题的,对不对,但是如果匹配go呢?机加增行吗?所以不行,哎,我想要这个也能成功,那怎么办?这个时候我们就需要什么,需要我们原子数量修饰列表。
02:08
原子数量。修饰符啊,第一个我们要用的什么呢?叫做问号啊,问号我在这个O的后边加了一个问号,加了问号什么意思呢?表示前面的原子可以出现零次或者一次,也就是有或者没有是不是都行啊,哎,那咱们来看再来刷新啊。那你看是不是Google匹配成功了,对吧,那这个时候你看我是Google可不可以可以吧,或者是我直接把它删掉。只留一个O是不是也行对吧?因为我的这个问号表示这个O可以出现零次或者一次,对吧,那我能不能出现多次呢?比如说在这里边我再返回来啊,来go goo3个O,对吧?来走是不就不行了。哎,这就是咱们问号作用表示,那表示前面的原子出现零次或者一次,那比如说我想前面这原子至少出现一次,多了随便,那怎么办?那这个时候就不能用问号了,那CTRLCCTRLV,我们给它复制一个,比如这会儿我再给它换,换什么呢?换成一个加号啊,这个加号表示什么意思啊,表示前面这个原子可以出现一次或者多次,那这个时候咱们来看啊。
03:16
刷新,比如说我匹配go走你失败了对不对,那如果是go就是这个是不是就已经出现一次了,对吧,那OK,提交。这是不是成功了对吧,那出现两次呢,是不是在这个O后面再加个O,是不是这个O我就出现了两次,那走你是不是成功了。啊,那不管出现多少次,比如说这里多给点O找你是不是都可以了,对不对?哎,所以这个加号表示什么意思,表示前面这个原子,也就是这个O可以出现一次或者多次啊,那我能不能想做到,比如说这里边这个O啊,你有也行,没有也行,有有多少都可以,那这时怎么办?是不是一样斜线就是Google前面我给什么呢?我给他一个星号啊,在这个O后边给个星号,那么这个星号表示什么意思呢?就表示前面的这个O可以出现零次。
04:03
一次或者多次,那咱们来看是不是这样的啊,来返回来先是got是不是O没出现呢?来走你是不是成功的,那好了,那返回来这里边我再加一个O走你俩O是不是可以了,哎,那我再来,我说我加多加两个O走你是不是都行,哎,不行,为什么,因为我都打了一个L。来把这I删掉再来是不是都可以对吧?哎,这就是咱们的这个原子数量修饰符啊,有这三个,其中是什么问号加号和星号啊,那好了,那我能不能比如说我现在啊,不想让这个O是这我想让这个O固定出现三次,就这个O,注意只加这一个O,如果算整个的O是不是就是四次了,对不对,我只说这一个O啊,这一个O,这一个O固定出现三处,那这个时候我用这个修饰符是不是就不满足我的条件了,哎,所以这里边我可以干嘛呢?比如说。让O啊,让这个O固定。出现三次对吧,那这个时候Dollar p。
05:02
TT等于斜线,这里边go对吧,我想要这个O固定出现三,我OK,我就给它一个花符号,里边给它一个数量叫三,这个呢,叫咱们什么呢?叫咱原子数量修饰列表。修饰列表,哎,也就是说当这个修辞符满足不了我们时候,我们可以考虑用什么用修饰列表对吧?表示什么呢?前面O固定出现三次,那这个时候我们再来看啊,返回来现在刷新我们来goo Le这个O是不是只出现一次匹配失败了,对吧?那再来一个O两次匹配是不是也是失败了,当我再加一个O3次的时候,找你是不是才成功啊。对不对,那如果再加一勾四次呢,再走,你是不是又失败了,哎,这个时候是不是表示前面的这个原子出现固定的次数,哎,那么一样,我那么说,我说前面原子至少出现两个,然后多了呢,随便对吧,或者是只允许它两到二到五个啊,那这样行不行也可以啊,比如说一样还是这个O啊那个。
06:00
也许。前面的O。至少。出现两次啊,至少出现两次,那怎么办?Dollar b等于斜线,然后g lo global,然后呢,在这里边。啊,Google然后在这里面给了一个括号,比如最早出现两次,直接二逗号,后面我什么都不不写啊,二逗号也就最早出现两次,多了随便,那现在你来看。返回来啊,刷新零四这里面来go现在不行,对吧,因为它一次没出现啊,来go现在出现一次也不行,对吧,再说了至少要给我出现两次,那我就再来个O。这里面是俩O了,来找你是不是可以了,对吧,那这俩O可以了,那多了是不是随便,那我再给他一堆O来,你是不是也都是成功的,对不对,哎,最表示至少出现两次,那我能不能让固定呢?也可以,比如说我说至少两次,最多五次啊允许。前面的O。
07:02
至少出现两次,最多出现五次,那这个时候到了。P就等于斜线go OG Le,然后给他一个二,给他一个二,然后呢,接下来是什么?接下来就是五对吧?哎,表示什么意思啊,前面的这个O至少出现两次,最多出现多少,出现五次,那好了,那这里边我们再来进行匹配,那你看好了,返回来刷新一下啊,Go,现在不行的对吧,当我出现一次。现在是两次,两次的数是不是可以啊,对吧?那么再来一个三次的数是不是也行,对吧?那再往里面加一个O4次的数是不是也可以对吧?再加一个五次的时候是不是也行啊,对吧?但是我再加一个,当他六次的时候呢,走你是不是就不行了。对不对,哎,也就是说当我给了花括号以后,给了二多少标什么表示前面这个O至少出现两次,最多出现多少五次啊,这就是咱们这个原子数量修饰列表,好了,那咱们来看。在这里边。
08:01
加号对吧?表示前面原子可以出现一次或者多次对吧?那么一样,我们要用原子列表改的话,是不是就一号一逗号啊问号呢,表示前面段出现零次或者一次,那用它改的话是不就零逗号一,而星号呢,表示前面原子可以出现零次一次或者多次,那是不是就是零逗号对吧?那这里边就是原子数量修饰列表了吧?哎,M逗号N表示什么意思?表示前面原子最少出现M次,最多出现N次啊M呢就表示前面原指出现指定的M次,M逗号呢,就是前原子最少出现M次,这是不是就是咱们原子数量修辞列表和修辞符,哎,好,那它完事以后我们再往下看什么呢?还有我们的这个磁边界啊磁边界,这个磁边界作为了解级别就可以了。了解几点啊,为什么这么说?因为我们很少去用这个单词啊,词边界仅对英文有效,看到了吧,这里边我说了注意,所以注意了解啊,这个词边界呢,可以分割一个单词的这个字符都是边界对吧?包括空格,标签的符号,特殊字符,字符串的开始和结束对吧?每一行的结束对吧?不可以当做词边界,什么是数字字母下限啊,那么正常情况下咱们先不用考虑它啊,比如不就是词边界嘛。
09:14
词边界啊,那咱们先定义一个呗,比如说在里边啊,我们定义一个字符串啊,咱们来看Dollar。S加等于,等于什么呢?等于这里边啊,就是hello hello。空格WD对吧,那这个空格是不是就是词的边界对不对,哎,那么甚至比如说这里边还有什么,比如说我们再换一个啊,比如写一个,嗯。My name is叉叉叉对吧,那你看比如说你这个A字算A字的左边和A字右边是不是都有空格,这空格是不是都是词边界啊,对不对?哎,所以这里边比如说我来匹配的话,到了P我要匹配什么呢?我要匹配这个A。匹配这个A啊,而且这个A字两边都是什么呢?杠B,杠B代表什么?代表它是磁边界啊,比如这句话我再给了一个A,但这个A两边是不是就没有磁边界了,对不对,那这个时候我们来匹配,你看能不能匹配到啊,来在这里边。
10:09
我把上面的这个注释掉啊,这个注释掉,直接在这个页面刷新。索性。走你匹没匹配到A匹配了吧,哎,这是可以拿到的,对不对,那这叫什么,这叫词边界,那如果说你看啊,如果说我把这个空格删掉了啊,这个空格删掉了,A字两边是不是就没有词边界了,没有词边界了,这个时候再来看啊,再来刷新。是不是就匹配不到了,看到了吧,哎,这就是匹配词边界,那都什么能当词边界,刚才空格可以了,对吧,比这里面我来个杠N,再来个杠N是不是给他换行了,哎,那这个时候再来。刷新。走你匹配,匹配到是不是也匹配到了,对不对,哎,这就是匹配我们的这个词边界,那么一样有词边界有什么非词。边界啊,Face边界,Dollar BA pat。高了P等于一样斜线杠大B啊杠大B,这就非磁边界,我给了两个就代表两边对不对,那两边的话,我中间一样A,那你看这个A的两边是不是非磁边界。
11:09
对吧,比如说A直A嘛,那这块我也区分一下A直A啊AA这个AA两边是不是都是非直连接,那你看我能不能匹配到啊在这里边。来刷新。找你,那你看AA拿没拿到,是不是拿到了,哎,这是咱们的词边界和咱们的非词边界,好好了这个作为了解级别就可以了,那接下来再往下看,看什么呢?我们字符串。边界修饰符啊,字符圈,边界修饰符也是开始和结束符,这个阴阳符就表示以什么以指定字符开头,到那时候呢,就是表示以指定字符结尾啊,比如说在这里面我把它注释注释掉啊,我们来看这个也不要了。然后我们把上面的再开,开起来啊,开起来,那比如说这里边我们随便给一个啊,就这里边一样,我们叫做一。指定。的字符开头对吧,那到撇等于斜线斜线好了,比如说我以什么呢?这里面来个EF符对吧?以大熊开头。
12:03
大熊注意,其实它准确说是以C开头,是不是以D开头对吧,但是D后面是不是必须挨着是AX iong,是不是这么样一串字符啊,哎,在我们没加,比如说没加这个的时候啊,没加这个时候咱们来看啊,我上面开起来了啊,咱们再看,我们通过表单提交过来。这里边我有任何一圈东西都可以找你,是不是诶匹配不到。哎,对,确实里面到,因为我没有大熊这个字母对吧,那只要是在这里边,我输入一个大熊连续的就可以匹配到,对不对,但现在我又要求了,我说必须以D开头看好了,以D开头后面是A,那这个时候。我再来,你看随便匹配对吧,咱说了必须以D开头,D开头来回测行吗?不行,因为是以D开头,但后面是连续的axg嘛,不是吧,A DAX ing大熊对吧,再来回车这个品比到匹配到了吧。对不对,哎,那你前面只要多一个,多任何一个内容,你看我还能匹配到吗?是不是匹配不到了,对不对?哎,所以这个时候叫什么,必须以B开头,后面连续的AIG这才可以看到了吧?哎,那比如说我只想让你匹配到大熊,后面多一个少一个都不行,就是这个字符串只能有它,那怎么办?那这个时候我就可以再加一个什么,再加一个Dollar啊,也就说以。
13:19
指定的字符。到了。PA等于等于什么斜线啊,这里边一样,我来个大熊,然后来个Dollar数啊,现在我们先看啊,光给Dollar数是不是相当于前面只要有大熊连续出现的这几个字符就行,要最后结尾的时候要有个G是不就可以了,哎,那现在咱们再来看啊,刷新,比如说这里边我一串字符,后面我给他大熊走,你这是不是成功了对吧?但是大熊如果我要写到这里面。是不是就不行了,对不对?哎,那么这个时候包括我今天匹配个大熊是不是也能匹配到,对不对,但是咱说了这种方式是不是前面就可以有任意的内容可以了,对不对,那你想想我刚才用这种方式的时候,是前面要要有它,后面给任意的用这种方式呢,是前面是不是这意思,后面有它对吧?那我要想精确匹配大熊的话,那是不是就可以把它俩放到一起啊。
14:17
Dollar beer。B等于,等于什么等于字符串斜线然后什么?然后这个E阳符刀符中间放上大熊,这是不是就精确匹配一个?开审核结束对吧,那这个时候我们再来看啊,我这里边来一串字符,中间给他大熊走你行吗?不行对吧,如果说这里边来个大熊走,你这是不是可以对吧?大熊后面一定要多的给个A是不是不行。对吧,或者在大熊的前面我再多给一个D走是不是也不行,看到了吧?哎,这就是咱们精确匹配啊,也就是说当我们在这一个正则中写成了开始,写成了开始符和结束符代表什么?代表精确匹配这个当中的字符串啊,精确匹配当中这个字符串啊,这就是咱们这个开始和结束啊,那么另外这个开始和结束也能匹配每行的开始和结束什么意思呢?比如说在这里边。
15:11
说结束啊来,比如说到了str,等于什么呢?等于这个叫做呃,Hello。E Du worker。对吧,然后麦。Name a叉叉叉好了,那这里边我都是给空格的啊,那最外层我用双引号来双引号。算行好了,咱们说能匹配每一行的开始和结束吗?这是不是就一行啊,杠N这是不是也是一行,当我给的杠N是不是就换行,换行是不是相当于这个效果,这个杠换是不是这个效果,那这个是不是就一行的开始和结束啊,对不对?那我在这里边能不能通过它匹配到这行的开始和结束呢?到了撇加等于斜线,然后一阳符Dollar符,这里面要匹配的e Du。对吧,好了,那现在我们来看可不可以啊,在这里面。
16:01
直接哎不行,我再把上面的这个注册料对吧,别影响到我们啊,好了,现在刷新一下来点击提交,提交过来你还能听得到吗?这不行啊,哎,大家记住,如果我们想用这个。开始和结束匹配每一行的这个开始和结束的话,这个时候需要怎么办?我需要在正则中写一个小M啊,这个小M写到哪了?是不是写到字符串定电符和我们正则电电符的中间呢?哎,写了一个小M,这个小M代表什么意思?代表的就是这个MU l t MU player啊这个叫什么意思?表示思维多行处理啊,那这个时候再来刷新。走你你看是不是匹配1WORK匹配成功了,哎,所以这里边我们来看一下。在笔记这里边啊,字符串的这个开始和结束对吧?我给它宽点啊,那先是以这个表示什么意思?表示以指定字符开头,当然呢,就是以指定字符结尾,如果他们俩这么去写,表示精确的批判某个字符串,多一个少一个是不是都算错呀,对不对?哎,要注意的是什么?如果要使用这个和这个可以匹配每一行的开始和结束部分,需要使用什么?后面学习的模式修正符小M,这小什么意思呢?就是四维多行处理啊,所以当你想用它匹配每一行开头结束,记住要加一个小M才可以啊,这个是咱们这个字符串的修辞符啊,字符串边界修辞符啊好了,那套完事以后我们再来看什么呢?再来看一下我们的这个选择修辞符啊,什么叫选择修饰符呢?比如在这里边。
17:28
我把它注释掉了啊。这个再开起来,开起来以后啊,我们在这块同样。来你看好了,比如说我在这块用一个竖杠,那选择修辞符对吧?来比如说到了。B等于斜线,这里面比如说ABC或者DEF,那好了,我想问的是,它是匹配的是ABC或DEF还是ABC或者DEF呢?明白我说什么意思吧,哎,就是它必是匹配的ABC或者DF,还是匹配ABB,后面是CD,后面是EF,中间C也行,B也行,对不对,哎,这个意思,看它到底是匹配的什么,我们来测试一下啊,来再返回这里边,我们再来刷新,比如说我来个ABCDEF走你。
18:14
匹配到了什么,是不是匹配到ABC,那么换句话来说,这里边。我的这个竖杠是不是表示说要么匹配ABC对吧,要么匹配DEF是不是也行,你看DEF是不是也行对吧,但我想匹配什么呢?我想匹配的是。AB必须要有,EF必须要有中间C或者D,明白我说什么意思吧,那这个时候能实现吗?是不是不行啊,对不对,因为什么?因为这种连续的这种优先级要高,你看我直接写成ABCDEF走,你是不是只拿ABC,对不对?所以这个时候如果我只想匹配中间的这个两个C或者D,那怎么办?我可以用我们的括号把它括起来,是不是提高它的优先级啊?哎,那这个时候表示什么?就是AB,然后中间C或D,然后EF,那你看是不是这样的啊,返回来刷新一下,比如说我匹配ABCDEFF走,你能匹配到吗?不行,对吧,我只能匹配什么ABCEF,这没问题吧,中间这个括号C是不是单独帮我拿出来了,看没看到?哎,那反过来再来,或者我ABDEF走,你是不是这个D也帮我单单独帮我拿出来了,那这个时候是不是就匹配的是ABCE或者ABDEF了。
19:21
对不对,哎,这就是使用我们什么这个括号的作用啊,那么这个括号叫什么呢?叫做模式单元。模式。单元啊,咱们使用括号的第一个目的干嘛,是不是改变了优先级对吧?哎,所以我们这里我就直接就记了啊,当然笔记里也有啊,第一个叫改变优先级,那么什么第二个呢,它也可以干嘛呢?比如说这里边注饲量啊,Dollar BA Dollar PI等于等于什么呢?之前我们说了,我说我养大熊。或者说像谷歌对吧,比如说大熊吧,我想让大熊整个注意,我想要整个这个字符串可以出现一次或者三次。
20:01
啊,注意是整个这个字符串啊,整个这个符串出现一次或者三次,那怎么办?那如果这里边比如说你看我给他EF开始到了福结束,诶精确匹配对吧,那现在咱们再来看啊,返回来刷新,如果我在这里面输入大熊,这是一次没问题,对吧,我再来一次大熊。大小行吗?匹配行吗?不行吗?为什么?因为两次大熊,虽然他以两次都叫大熊啊,你看是不是这样的大熊大熊对吧?虽然它是以B开头,符合要求,后面也是AXLNG对吧,但是它是以G结尾吗?不是吧,对不对,后面是不是又多了一串大熊了,是不是就不符合要求了?哎,所以我说了,我说我想到大熊这一串字符最少出现两次,最多出现三次,那这个时候怎么办?那这个时候我就可以干嘛将括号给它括起来,将括号括起来的目的干嘛呢?将它视为一个原子,视为一个原子我就可以使用什么原子数量修止符最少两次,最多三次,那你看这个数是不是这样的啊。最少两次,那这个时候我就给一个大熊肯定是不行了,对不对,我至少要给两个大熊是不是才可以,这不就匹配成功了,而且将括号里的内容拿出来了吧,对不对?那再来,我再加一个大熊三次揍你是不是也行,对吧?但是我再来个大熊呢?
21:12
是不是就不行了,对不对,哎,这就是咱们院这个。使用括号的第二个作用干嘛呀?它除了改变优先级,那第二个作用是不是就是将多个原子视为一个原子?对吧,将多个原子视为一个原子,目的是干嘛呀,是不是。可以使用原子数量。修饰符啊,是不是这个这个作用啊,哎,这就是咱的第二个作用,而且刚才我们看到了我们在括号里面匹配到的内容啊。括号里面库的内容是不是会单独的从内存里面给我拿出来,因为他只要放到这个数组里面,是不是就存到内存里面去了,对不对,哎,所以这里面大家记住啊,如果说。
22:00
自己先记吧,来先把第三点记上。第三点叫什么呀,将。匹配。括号。的内容对吧,暂时。纯为。内存当中对不对,哎,也就是说在这里面暂时存到这里面来了啊,所以我要想使用这个括号,大家记住,我要使这个括号的目的只是为了将这个这么多个原子视为一个原子目的去使用什么原子数量修饰符的话,那我就没有必要让它放到内存里边,对吧?因为它放到内存里面反倒是不效率降降低了,哎,所以这个时候我可以使用什么使用问号。冒号来解除存疑的作用啊,存于内存的作用,那这个时候你看我再来刷新这个一下标是不是就没有了。点错了啊,来点击继续一下标注就没有了,哎,所以这个时候咱们记住啊,如果你看在这里边。这的啊,你看第一个作用改变优先级,第二个将多个原子视为一个原子好处可以使用原子出来求置符对吧?那第三个将匹配到的括号内容暂时存放到内存当中,那第四个如果使用括号仅仅为了模拟一个原子,使用原子数量修饰符,那么可以在什么在括号的开始处使用什么问号冒号来解除存疑内存的作用,然后来提高效率啊,来提高效率,那最后一个作用可以将这个括号的内容在函数的辅助下进行反向引用,什么叫反向引用呢?那这个时候我们还要。
23:23
不了解,等到我们讲完模式修正符,讲完我们的函数的时候啊,我们再来去演示这个东西,好吧,那前四点你一定要记住,这个括号是我们非常常用的啊,好了,那这些就是我们这个原字符啊,需要大家去了解的内容,好,那这节课我们到这里。
我来说两句