老师,exec输出一直是null?老师,?:这个非捕获是什么意思
来源:2-9 编程练习
小慕修行中
2018-06-02 16:05:57
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>正则表达式</title>
</head>
<body>
<script type="text/javascript">
var str = 'JavaScript_RegExp_5@gmail.com';
/*此处写代码*/
var pattern=/(?:\w)*\w[0-9]@[a-z]{2}/ig;
console.log(pattern.test(str));
console.log(pattern.exec(str));
</script>
</body>
</html>
1回答
Miss路
2018-06-03
?: 是 不想被捕获的时候使用 可以提高程序执行速度
比如 ([a-z][0-9])+
这个正则表达式里 ( ) 里面的内容被捕获了。
但是 如果写成 (?:[a-z][0-9])+
跟上面 正则表达式 整体匹配是一样的 就是 不会捕获 ( )里内容了。
同学,你应该多听听课,练习一下老师讲过的例子。祝学习愉快!
相似问题