正则的补充
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
var str = "123hfgh789hgf25ghf456hg3.14f";
// ↑
var reg = /\d+/g;
// ES6添加了y修饰符和g类似,不过y 修饰符在下次匹配的时候需要紧跟上次匹配成功之后的结果匹配,而g则是全局匹配;
// exec() 方法在匹配全局对象的时候, 多次匹配会在上一次结束的地方继续匹配;
console.log(str.match(reg));//["123", "789", "25", "456", "3", "14"]
console.log(reg.exec(str));//["123", index: 0, input: "123hfgh789hgf25ghf456hg3.14f", groups: undefined] 每次只打印一个值,但包括很多信息。
reg.lastIndex = 0;
console.log(reg.exec(str));//123..(很多信息).
reg.lastIndex = 1;
console.log(reg.exec(str));//23...
reg.lastIndex = 3;
console.log(reg.exec(str));//789...
console.log(reg.lastIndex)//10
reg.lastIndex = 10;
console.log(reg.exec(str));//25
console.log(reg.lastIndex)//15
// ........
reg.lastIndex=0;
console.log(reg.exec(str));//123.
console.log(reg.lastIndex) //3,最后一个值在第几位?
var s = 'aaa_aa_a’;
var r1 = /a+/g;
var r2 = /a+/y;
r1.exec(s) // ["aaa”]
r2.exec(s) // ["aaa”]
r1.exec(s) // ["aa”]
r2.exec(s) // null
</script>
</html>
长风破浪会有时,直挂云帆济沧海
浙公网安备 33010602011771号