前言

正则表达式是Javascript的一个非常重要和常用的函数。它在诸如jQuery这样的大型框架中非常频繁地使用。最近,它学会了时间学习相关知识,并与需要它的朋友记录下来。

思维导图


创建正则表达式的方式(正则表达式)

您可以用两种方式创建一个正则表达式,如下:

通过…创建正则表达式的方法(注:/……)两边没有单引号或双引号。

通过正则表达式构造方法创建一个正则表达式

为了更好地描述模式,正则表达式提供了3个标识符,它们是:

G:全球比赛:与整个比赛相匹配,而不是在第一场比赛之后。

忽略案例和案例匹配

m:对于每行中的多行字符串,行的开头和结尾的应用的特殊字符(即,和$)。

请参考下面的代码加深理解:


无功regx = new RegExp(' ','克');
无功regx1 = / / / / g;创造一个共同的方式


正则表达式的主要属性的实例

根据RegExp构造函数,我们可以大概也猜regexp的主要属性,如你所知,例如性能。但有一点要注意的是,这些实例属性不能穿越在。

可以参考下面的代码加深理解:


无功regx1 = / / / / g;创造一个共同的方式
console.log(来源:+ regx.source +全球+ regx。全球+忽略大小写:+ regx.ignorecase +多行+ regx。多行);
全球:真:假行:IGNORECASE假 / /来源:是

对于(VAR P regx){ / /不会进入循环
如果(regx.hasownproperty(P)){
console.log(regx { p });
}
}


对正则表达式实例主要试验方法

根据这种方法,它是非常简单的。只有一个参数用于验证输入参数是否与正则表达式模式匹配。如果匹配返回true,则返回false。


无功regx1 = / /克;
VaR既= regx.test(你是一个OD的男孩!;
console.log(RES); / /真的
VaR RES1 = regx.test(我一个OD的男孩!;
console.log(RES1); / /假


对正则表达式实例的主要方法执行

该方法是一种很常见的方法,它需要很好的理解。它只接受一个参数,即要匹配的字符串,并返回一个数组arr的店,第一场比赛的相关信息,包括:

输入:匹配字符串,执行方法的输入值。

索引的位置:在字符串中匹配

ARR { 0 }:模式匹配的字符串

ARR { 1 }…ARR {N}:N捕捉组串

使用此方法时,应注意:如果在正则表达式中没有指定全局标记g,则每次都执行第一个匹配。如果设置了全局标志G,则每次调用执行,然后在字符串中继续执行新匹配。

可以参考下面的代码加深理解:


无功regx = / fn( W +) + LN:( W +) /克;
var =你的FN:小心LN:唐权;
var result = regx.exec(S);
console.log(结果。输入); / /你的FN:小心LN:唐权
console.log(结果指标); / / 5
console.log(结果{ 0 }); / / FN:小心LN:唐
console.log(结果{ 1 }); / /小心
console.log(结果{ 2 }); / /汤
console.log(结果{ 3 }); / /定义因为只有2个捕获组,所以打印定义


RegExp构造器特性

关于函数的属性,可以参考其他的编程语言(如java)在静态属性类的理解,这些属性是共享的所有实例和所有正则表达式,表达式可以访问和修改这些属性,当执行测试或exec方法的一个实例,这些属性的值将被改变

关于这些属性,我们可以记住,根据我们自己的理解:

输入:需要模式匹配的字符串的输入参数、测试或执行方法。参数名称:$—

lastmatch:最后一场比赛。参数别名:$

LeftContext:在比赛剩下的字符串参数名称:`美元。

对上下文进行正确:正确匹配的字符串。参数名:$

1,2,$ 3…::与捕获组对应的字符串。

当然,这些值可以通过计算实例执行exec表达式返回的结果。为什么我们在构造函数RegExp设置这些属性吗*



可以参考下面的代码加深理解:


无功regx = / fn( W +) + LN:( W +) /克;
var =你的FN:小心LN:唐权;
var result = regx.exec(S);
console.log(regexp。输入); / /你的FN:小心LN:唐权
console.log(regexp。lastmatch); / / FN:小心LN:唐
console.log(regexp。leftcontext); / /你
console.log(regexp。上下文进行正确); / /右
console.log(regexp。1美元); / /小心
console.log(regexp。2美元); / /汤


正则表达式元字符

与其他语言中的正则表达式类似,但也有一些元字符是js正则表达式,这些字符有特殊的意义和用途,因此在使用过程中,需要转义这些字符,通过在这些字符中添加转义。js是正则表达式元字符:

({ $ ^ { * } } + |)。

正则表达式-贪婪匹配和懒惰匹配

贪心匹配是在匹配正则表达式的过程中,使得匹配长度越长越好:


我是一个OD男孩,你也是一个OD!;
无功regx = /外径*男孩 / / / g;贪婪匹配
console.log(regx.exec(s){ 0 }); / / OD的男孩,你也是一个OD的男孩
无功regx1 = /外径*男孩 / / / g;懒惰匹配
console.log(regx1.exec(s){ 0 }); / / OD的男孩


以上是Javascript正则表达式和字符串的正则表达式和字符串(我)共享萧边。下一篇文章将与您分享Javascript正则表达式和字符串的正则表达式和字符串(2),我希望你喜欢它。