var linkStr = "classId=1";
var linkRegx = /classId\=(\d)/g;
var group = linkRegx.exec(linkStr);
alert(group[1]);
alert(group[0]);
}
javascript中的正则表达式有两种方法exec是正则表达式的方法,match 是字符串的方法,两者的区别是前者返回的是第一个匹配的地址,里边会有分组的信息,后者只是返回第一个匹配,没有分组的信息,如果没有匹配两者皆返回空的undefine.
(转载)
1、当正则表达式无子表达式,并且定义为非全局匹配时,exec和match执行的结果是一样,均返回第一个匹配的字符串内容;
2、当正则表达式无子表达式,并且定义为全局匹配时,exec和match执行,做存在多处匹配内容,则match返回的是多个元素数组;
3、当正则表达式有子表示时,并且定义为非全局匹配,exec和match执行的结果是一样如上边的第5种情况;
4、当正则表达式有子表示时,并且定义为全局匹配,exec和match执行的结果不一样,此时match将忽略子表达式,只查找全匹配正则表达式并返回所有内容,如上第6种情况;
也就说,exec与全局是否定义无关系,而match则于全局相关联,当定义为非全局,两者执行结果相同;