function test(){
var text="index.aspx?test=1&ww=2&www=3";
var re = /?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;
// var re =new RegExp( "\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");//另外一中写法
var result= re.exec(text); // var result= re.test(text)
if(result)
{
alert("ok");
alert(result); // 是?test=1&ww=2&www=3,ww=2&
alert(result[0]+",0");//是?test=1&ww=2&www=3
alert(result[1]+",1");//是ww=2&
}else
{
alert("err");
}
}
使用正则表达式的主要有字符串的方法match,正则表达式的方法exec,test
正则表达式方法test测试给定的字符串是否满足正则表达式,返回值是bool类型的,只有真和假,如果只是单纯的判断,不需要其他的处理,可以使用尤其是验证时。
正则表达式方法exec测试给定的字符串是否满足正则表达式,返回匹配到的字符串,如果没有匹配的则返回null,和test基本一致
其中 w{1,}的意思 /w匹配A-Z a-z 0-9 {1,}匹配1次以上
举例:
(w)1{4,}和(w){4,}1和(w)1{4,}1 在匹配 "aa bbbb abcdefg ccccc 111121111 999999999" 时的困惑
(w)1{4,}匹配 ccccc 999999999 先匹配(w ) 1反向引用第一个括号里面匹配的 {4,}对反向引用的重复四次以上
(w){4,}1匹配 ccccc 111121111 999999999 匹配(w)4次以上 然后再 反向引用第一个
(w)1{4,}1匹配 999999999 先匹配w 引用第一个并重复四次以上 再反向取第一个