【JavaScript高级程序设计】5、RegExp类型
regexp就是在JavaScript中使用正则表达式
JavaScript中执行正则表达式的方法exec:
1、首先补充一下正则表达式的知识




2、RegExp实例方法
<!DOCTYPE html>
<html>
<head>
<title>RegExp exec() Example</title>
<script type="text/javascript">
var text = "mom and dad and baby";
var pattern = /mom( and dad( and baby)?)?/gi;
var matches = pattern.exec(text);
alert(matches.index);
alert(matches.input);
alert(matches[0]);
alert(matches[1]);
alert(matches[2]);
</script>
</head>
<body>
</body>
</html>
结果:





<!DOCTYPE html>
<html>
<head>
<title>RegExp exec() Example 2</title>
<script type="text/javascript">
var text = "asdadasat, cat, bat, sat, fat";
//这个。表示[^\n\r]这个就是除了所有的换行和回车字符之外的所有字符
//这里就是匹配连续三个字符,以at结尾的字符
var pattern1 = /.at/;
//这个是匹配一次
var matches = pattern1.exec(text);
//lastIndex从字面上来讲就是最后一个索引,实际上它的意思是正则表达式开始下一次查找的索引位置
//6$$$sat$$0
alert(matches.index + "$$" + matches[0] + "$$" + pattern1.lastIndex)
matches = pattern1.exec(text);
//6$$$sat$$0
alert(matches.index + "$$" + matches[0] + "$$" + pattern1.lastIndex)
//这里设置全局变量的话表示应用所有的字符串,也就是第二次执行的时候在后面接着匹配
var pattern2 = /.at/g;
var matches = pattern2.exec(text);
//6$$$sat$$9
alert(matches.index + "$$" + matches[0] + "$$" + pattern2.lastIndex)
matches = pattern2.exec(text);
//11$$$sat$$14
alert(matches.index + "$$" + matches[0] + "$$" + pattern2.lastIndex)
//这个匹配的就是^\s*'?这个是空白开头的之后又'0或1个,然后|表示或者,然后'?\s*同前面一样的结尾
//然后划分是表示根据,号划分,并去掉逗号前后的'
//0,qweqweqweqe,sdfsrddcsefr
var arr = " 0,'qweqweqweqe','sdfsrddcsefr' ".replace(/^\s*'?|'?\s*$/g,"").split(/'?,'?/);
alert(arr);
</script>
</head>
<body>
</body>
</html>
结果:






浙公网安备 33010602011771号