00:00
这是一些这个字符串相关的一些方法,然后呢,接下来我们来进入到下一个知识点,也是一个,诶很有意思的一个叫我们叫做一个这个正则表达式啊正则表达式诶英文叫做一个regular expression啊正则表达式,正则表达式是干嘛的呢?诶正则表达式是干嘛的,我们先来了解一下啊正则表达式,那我想想,嗯,那我们在上网的时候经常要遇到一些东西,可能我要上网注册一个用户,我需要输入什么呀?可能我需要输入用户名,对吧?可能我需要输入用户名,比如说我叫我的密,那可能需要输入什么呢?输入这个,呃,电子邮件可能来一个admin,诶艾特一个这个艾特硅谷,诶点。com可能需要输入电子邮件,那这些是不是都是我要上网的时候输入的一些这个信息啊,那好了,那我们要输入信息,我们都知道我们要输入一个信息以后,假如说我这个是一个电子邮件,那假设我输这么一个东西买什么?
01:00
嗯,Ain来一个什么呢?来艾特点com,这是不是电子邮件,这是不是这面不是吧,来或者来一个in,来一个艾特硅谷点com,这是不是电子邮件,这也不是,这是不是都是一个错误的格式啊,哎,我们都知道,如果这个邮件的格式错误的话,我们这用户是不能去干嘛呀,是不能注册,不能注册成功啊,诶不能注册成功,那现在问题来了,那用户输入一个内容,如果格式正确,我可以让他注册,如果格式错误的话,我干嘛呀,我不能让他注册,那就出问题了,我得干嘛呀,我是不是得有一个东西去检查用户输的这个东西它。对不对呀,哎,他检查用户说这个东西对不对,那我这块怎么检查。诶,那假如说我这儿派一个人去,比如说我让那个谁呀,让这个苏胜航他去干嘛呢?诶去给我检查我们这个用户输入的这个电子邮件这个格式对不对啊,让苏润航去检查,那我们说让苏润航去检查,我只要跟他说一句话,我说什么呀?诶你去看看他这个电子邮件的格式对不对,我写这么一个ABC,艾特一个abc.com,他一看这格式对不对啊,对,可以注册,有一个人写什么呢?abc.com这格式对不对啊,不对,不让他注册,那我们说了这个人能不能干这个事儿啊,可以吧,哎,没问题,而且人家干这事呢,其实我们说我们还比较省心,跟他说一句话,他就去干了,但是问题来了,让人干行不行啊。
02:30
他不太靠谱吧,诶人家一个注册信息提交过来了,现在把孙正航请过来是吧,宋正豪你来看这个邮件格式对不对,你看对行注册不对去走对注册不对走这他他他就整完了呀,但是问题来了,他这一个人一天能看几个呀,看1万个,看1万可能就已经疯了是吧,哎已经疯了,所以人干这个事儿呢,行,但是这个效率肯定干嘛呀,特别的特别差,而且什么呀,而且成本是不是也会。
03:01
极高啊,哎,成本也会极高,所以我们需要什么呢?需要让计算机来干嘛呢?是不是来干这个事儿啊,哎来来干这事儿,那我需要什么呢?让计算机来给我检查这么一个字符串,它是不是一个电子邮件,但是问题又来了,他计算机他知道这个什么是电子邮件吗?他不知道,这个东西对于计算机来说就是10101串二进制,对吧,它并不能识别哪个是电子邮件,哪个不是电子邮件,所以这里边我就需要干嘛呢?我需要告诉我们计算机这个电子邮件的什么呀,规则,邮件的这个规则,比如说咱们举例子,第一个什么呀,哎,我们这个前边哎可以是哎什么什么什么哎乱七八糟,你简单描述一下啊,然后第二个跟着一个这个什么呀,艾特福,然后呢,第三个后边可以是什么什么什么乱七八糟,这是我们这个网址了,对吧。
04:01
啊,然后第四个诶什么呀,诶可以是点点com,哎或什么呢,诶或者是诶其他的这个,诶其他的东西啊,其他的这个诶那全糟。总之啊,我可以把这规则我是不是可以写的很详细啊,但是还是这个问题,这规则我写的再细,人能看明白,人一看就明白对吧,但是你给计算机看,他看懂看得懂吧,累死他也看不懂是吧,你写着还挺费劲,他也看不懂,所以这里边呢,我们就发明什么呢?我们就需要去定义这个规则,而且这个规则还得干嘛呀,不仅仅人能看懂,还得让谁呢?还得让计算机能看懂,那这个规则我们叫什么呢?就是这个正则表达式啊,正则表达式,所以这里边我们来说正则表是干嘛的,正则表达式用于干嘛呢?诶用于定义一些这种什么呀,诶字符串的一个呀,规则啊,或者其实可以叫什么呀,叫规则表达式呢也行,它就是定义什么呀,某种规则的啊,某种规则的,那我们说什么呢?我们的计算机可以根据什么呀,根据我们这个正则表达式来干嘛呢,来检查。
05:15
一个字符串是否符合规则啊,一个字符串是否符合规则或者什么呢?或者将我们这个字符串中符合规则的这个内容干嘛呢提取出来啊,可以检查一个字符串是否符合规则,或者呢,将我们这个字符串中符合规则内容给它提取出来,哎,就是干这个事儿的啊,就是这么一个正则表式,换句话说,正表式是给谁看的呀?是给计算机看的,由我们写的,我们来给计算机看的这么一个规则啊,看这么一个规则,就这么一个东西啊,就是一个东西,那现在说了半天了,那这个政办法师我们要怎么去怎么去写呀,或者说那正德法式到底是个啥呀,那实际上在我们这儿呢,对我们来说,正德表达式实际上是一个什么呀,是个对象啊,是个对象,所以我们要用正则表达式,我们第一步先得来干嘛呢?创建我们正则表达式的这个对象啊,来创建正则表达式的对象,怎么创建呢?我们来说一下,直接最简单的画一个reg,我们这个正大式叫做regular,等于什么呢?等于一个new,一个叫做什么呢?Rep叫做regular X expression,正则表达式的意思,Regularation这是不是调这么一个构造函数与方向的呀,哎,调这么一个构造函数,那我们来说一下,我们说构造函数,我们来说一下它的语法吧。
06:45
法直接来一个这个Y,一个这个变量等于一个new,一个这个re,它需要两个参数,注意两个参数都是字符串,两个参数都是字符串,第一个参数要谁呢?要我们这个正则表达式,第二个参数要我们这个谁呢?要我们这个匹配模式,就这两个参数,第一个字符串是正则表式,第二个字符串是我们这个匹配模式,那我们来看怎么写匹配模式,我们先不管,我们先来看谁呢?正则表达式我这来写一个什么呢?我直接来写一个这个A,随便写一个写字母A,那这个A就是一个什么呀?正则表达式啊,A就是一个正则表达示,那我们来看看这个A它到底是什么意思,好,对象创建完了,我们先来一个cancel.log,一个这个re,我一保存走你,诶你看它写的什么呀,两个斜杠是中间一个A啊,这就是我们创建好的这个正则表式啊式。
07:45
哎,还是来看看它这个type of1保存,咱们来看是玩意object啊,也是一个对象,对象除了那个方,除了函数是function,剩下都是object啊,剩下都是object,来我们来说使用我们这个type of检查我们这个正则对象会什么呢?会返回我们这个,哦不啊,会返回object,那好,那正德是创建完了,那这东西怎么用啊,我们说这东西干嘛使的呀,是不是来检查一个字符串是否符合某种规则的呀,那这块就需要什么呢?来准备一个字符串ST,我就直接来一个A,这字符串是不是A啊,那现在我想干嘛呢?我想用reg这个正则,也就是A这个表达这个正则来干嘛呢?来检查我这个str是否符合规则,其实这一看呢,你肯定能知道,这肯定符合,对吧,这俩是不是长的长一模样啊,哎,长一模样,那问题来了,那关键是我们怎么去怎么去测吧,哎,怎么去测怎么去测呢?我们来说一下。
08:45
我们有一个方法叫做什么呢?哎,正则表达式的一个方法叫什么呢?叫做一个test test什么意思,测试啊测试我们说使用这个方法可以干嘛呢?可以用来检查一个这个字符串是否符合我们这个正则表达式的一个规则,如果什么呢?如果符合则返回处,否则返回for,所以这里边我直接来什么呢?来一个reg,点一个test,测试谁是不是测试我这个str这个字符串啊,那换句话它的意思什么呢?用我A这个正能表达式去检查A这个什么呀,字符串啊,去检查A这个字符串,它应该给我返回一个什么呀,不尔值吧,直接接收一下ver,一个这个reut result等于它,然后呢,我们这来一个cancel.log,一个这个result,我这一保。
09:45
嗯,咱们来看符不符合,直接一保存走你什么玩意儿处,也就是说这个字符串是不是符合我这个正大式啊,哎,符合我这个正大式,这个能看明白吧,哎,然后再来看,再来什么呢?直接写了啊cancel.log一个re正多表式点一个test,刚才我们这是测试的这个A对吧,我E保存返回的什么呀,处测试A返回的处再换一个测试什么呢?ABC。
10:13
诶一保存零还是处是吧,再来一个BCABC,诶一保存零。还是处是吧,诶还是处来把A删了,你保存走,你是false呀,诶false,所以A这个正是表示什么意思,哎,我们说这个正则表达式可以什么呢?可以来检查一个字符串中是否含有。是否含有AA,所以注意这种法是可以用来检查我们一个字符串里边是否含有A啊,是否含有A,那我们现在来看BCBC里有没有A啊,没有A就返回false,你来写一个A,然后我这保存走,你是不是处啊,至于A在字符上的哪个位置,是在开头还是在结尾,重要吗?不重要啊,只要有A就行啊,只要有A就行,所以有A就是什么呀?就是处啊,有A就是出来,我换一个来什么呢?大AABCBC。
11:20
我这一保存走,你什么玩意fourth来fourth呀,我找的是小写的A吧,在我们这注意也是严格区分大小写的,他找的是小A而不是大A,所以说是反F负呀,你可以干嘛呀,改一个呗,改成什么呢?改成大A,这一保存完了,是不是处了,哎,处了,但是我这改回来,这改成小A1保存。是不是有负还有for啊,所以注意它是严格区分大小写的,那现在问题来了,我现在想找什么呢?我就想找A,无论你是大A还是小A啊,无论你是大A还是小A,那怎么办呢?诶,那注意了,我们这有一个什么呀,是不是还有一个匹配。
12:05
模式啊,哎,匹配模式,我们来说一下我们这个,在我们这个构造函数中,可以传递一个一个这个匹配模式,作为这个第二个参数,它可以什么呢?可选值可以什么呢?可以是我们这个叫做一个I,诶还有我们这个。G啊I表示什么意思啊,I表示一个一个not I表示什么呢?叫做忽略打游写一个not啊忽略小写这个D的表示什么呀?G global叫做一个全局匹配模式啊全局匹配模式,那全局的咱们现在用不着,咱们现在用谁呀?是不是忽略了解啊,所以在这来一个什么呢?逗号,注意也是字符串来个引号来个什么呢?哎,表示还是一个意思,找这个字符串里有没有A这个字母,但是干嘛呀,忽略大小写,无论你是大A小A都行啊,无论你是大A小A都行,那现在我们再来看ABC这是小A吧,A保存什么玩意儿?True来A什么呢?大A1保存是不玩是true啊哎,一个note表示一个忽略大小写啊忽略大小写那当然了,我这写A是找A,我写个B呢?
13:24
是不是找B呀,哎,我写个C呢,找C,我写个AB呢,是不是找AB呀,哎,找AB,那现在我来看这有没有AB啊,哎,我一保存什么呀处这是不是AB啊,好,我把B删了,来个AC1保存是不false呀,哎,False啊,所以这个呢是我们正坐表示的最简单的一种书写方式啊,直接就写什么找什么你就写什么,然后使用这个test来测试我们这个字符串是否符合规则,符合就返回处,不符合就返回false啊,不可返回false,好,那我们这儿呢,停一下正则。
我来说两句