本文详细介绍js中正则表达式的使用。

JavaScript正则表达式_正则表达式

 

 由上图可得:

1.可用正则表达式字面量直接调用test函数进行正则匹配判断,也可用new RegExp对象的方法。

2.正则表达式test函数返回布尔值。

JavaScript正则表达式_数组_02

 

由上图可得:

1.点号表示除换行符外的任意字符。

2.\u表示unicode。

3.\D表示\d的补集,\W和\S亦同理。

JavaScript正则表达式_数组_03

 

由上图可得:

1.[abc]表示a或b或c,[^abc]表示除a、b、c外的任一字符。

2.\bno匹配a no这样的字符串。

JavaScript正则表达式_数组_04

 

若需要匹配特殊字符如^,则需要加上反斜杠。

JavaScript正则表达式_字符串_05

 

由上图可得:

1.分组功能可分组并记录字符串,并可用\n重复分组。如/(abc)\1/匹配abcabc。

2.若在分组时加上?:,则仅分组不记录。

JavaScript正则表达式_字符串_06

 

由上图可得:

1.abc*默认使用贪婪算法匹配,可匹配ab、abc、abcccccccc等。

2.abc*?默认使用非贪婪算法匹配,仅匹配ab。

3.?表示可有可无,a{3,4}表示a重复3-4次,为闭区间。

JavaScript正则表达式_字符串_07

 

由上图可得:

1.g、i、m不分排列顺序。

2.g是全局匹配,i是不分大小写匹配,m是可多行匹配。

3.用RegExp对象时,mgi可作为第二个参数传入。

JavaScript正则表达式_字符串_08

 

由上图可得:

1.正则表达式对象可以查看flag的对象属性是否存在。

2.正则表达式对象的source属性可返回正则字符串。

JavaScript正则表达式_JavaScript_09

 

由上图可得:

1.exec函数可以返回匹配到的字符串子串。

2.toString函数返回如/abc/这样的正则表达式字符串。

3.complie函数是用参数覆盖原来的正则表达式。

JavaScript正则表达式_数组_10

 

由上图可得:

1.String类型的一些函数可以应用正则表达式作为参数。

2.search可搜索索引,replace用于替换子串,match返回的是匹配的数组,split返回的是分隔后的数组。