[javascript]正则回顾

正则

正则是在字符串中搜索,检验出具体内容的的规则。他有自己的语法,配置。正则用得6的同学,很多问题都可以迅速解决。

语法

/正则表达式主体/修饰符(可选)

修饰符

修饰符就好像是正则中的配置,写在主体外。

修饰符 描述
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。

元字符

元字符是正则里,某些符号,内容的代表。

元字符 描述
d 查找数字。
s 查找空白字符。
b 匹配单词边界。
uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

量词符号

量词符号指对于指定内容出现的次数。

量词 描述
+ 匹配任何包含至少一个 n 的字符串。
* 匹配任何包含零个或多个 n 的字符串。
? 匹配任何包含零个或一个 n 的字符串。

括号

1.小括号()

小括号是一小片段目标内容,他常跟|搭配,表示多选。

表示匹配aaa或者bbb
/(aaa|bbb)/

2.中括号[]

中括号跟小括号类似,可是他常跟[0-9a-zA-Z.*?!]等搭配,表示一些常用字符。

表示数字
/[0-9]/
表示字母
/[a-zA-Z]/
表示普通字符
/[-!?*(]/

3.大括号{}

大括号是匹配次数。

表示长度为3的数字
/\d{3}/

表示长度为1-3的数字
/\d{1,3}/

正则方法

1.test

test()用于检测字符串里是否匹配目标正则的规则。返回布尔值。

/\d{3}/.test("a1b2c3")
// false

/\d{1,3}/.test("a1b2c3")
// true

2.exec

exec()方法用于检索字符串中的正则表达式的匹配。返回一个数据,内容为匹配结果,如果未找到匹配,则返回值为 null。exec返回的结果里有lastIndex属性,记录每次找到结果的坐标。

/\d{1,3}/.exec("a1b2c3")

特殊:match

match不是正则方法。是字符串的方法。可是他很常用来作正则提取。他和exec不同的点在于之一是match返回的数组可以,获得所有匹配内容。而exec每次只会返回一个,需要多次调用才能获得所有目标。

var str = "";
str.match(/([a-zA-Z0-9]*)<\/a>/g);
// ["1dasd32", "2", "3"]

/([a-zA-Z0-9]*)<\/a>/g.exec(str);
// ["1dasd32","1dasd32"];

你可能感兴趣的