js正则表达式提取数字

来源:互联网 发布:sql注入点扫描工具 编辑:程序博客网 时间:2024/03/29 15:11
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则于全局相关联,当定义为非全局,两者执行结果相同;


0 0