老师,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])+  
跟上面 正则表达式 整体匹配是一样的  就是 不会捕获 ( )里内容了。

同学,你应该多听听课,练习一下老师讲过的例子。祝学习愉快!

0

0 学习 · 4826 问题

查看课程