共计 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"];
正文完
发表至: javascript
2019-11-19