javascript正则回顾

42次阅读

共计 1039 个字符,预计需要花费 3 分钟才能阅读完成。

正则

正则是在字符串中搜索,检验出具体内容的的规则。他有自己的语法,配置。正则用得 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 = "<div><a>1dasd32</a><a>2</a><a>3</a></div>";
str.match(/<a>([a-zA-Z0-9]*)<\/a>/g);
// ["<a>1dasd32</a>", "<a>2</a>", "<a>3</a>"]

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

正文完
 0