<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> <script type="text/javascript"> window.onload=function(){ var str='abc'; var re=/c/g; // alert( str.search(re) );//匹配成功,返回位置 alert( str.match(re) );//匹配成功,返回数组 // alert( str.replace(re,'lu') );//匹配成功,替换新的字符 // alert( re.test(str) );//匹配成功,返回真假 d 表示数字 [0-9] w 表示字母、数字、下划线 [a-z0-9_] s 表示空格 D 表示数字 [^0-9] W 表示字母、数字、下划线 [^a-z0-9_] S 表示空格
/*
量词
{n,m}//最少n次,最多m次
{n,}//最少n次,最多不限
{,m}//最少不限,最多m次
{n}//正好n次*/
var str='abca';
var re=/(a)(b)(c)1/;
alert( re.test(str) );
//1,2表示重复的第一个子项,重复的第二个子项
/*高级replace,第二个参数可以是字符串,也可以是函数
函数的第一个参数,就是匹配成功的字符*/
var str2='abc';
var re=/a/;
str2.replace(re,function (str) {
console.log(str);
}) } </script> </head> <body> </body> </html
补充于2015.7.1,今天想郑重声明一下replace,search,match这些都不是正则的方法,我是怎么知道的?是培训加学习知道的,
下面简单介绍一下正则的方法exec
var pattern=/java/ig var text='JavaScript is more fun than Java or JavaBeans'; var result; result=pattern.exec(text);
exec跟string.match差不多,先看结果
没错,他返回的是一个数组!,第一个表示匹配的值,第二个表示他匹配的索引值,第三个表示他匹配的文本。
厉害吧!强大吧!以后再详细聊