javascript字符串匹配正则表达式方法

一、search(reg):若匹配成功,该方法返回匹配成功的正则表达式第一次出如今字符串中的位置!若匹配不成功,将会返回-1!javascript

var str = "abcd1223abd";
var reg = /\d+/;
str.search(reg);//返回一个位置序号:4

对应到字符串的简易操做方法是:indexOf();html

对应到正则表达式的操做是:exec方法,该方法返回一个类数组对象:java

注意:exec方法,若是对正则表达式使用g,并不会返回全文中匹配成功的对象,exec方法始终只返回第一个!!!若是须要匹配全文,须要使用while循环!正则表达式

exec方法详细使用请参考:http://www.w3school.com.cn/jsref/jsref_exec_regexp.asp 和http://www.cnblogs.com/xiehuiqi220/archive/2008/12/01/1327487.html数组

var num = /\d+/;
var str = "12sdf123sdf";
var r = num.exec(str);
console.log(r);//输出:["12", index: 0, input: "12sdf123sdf"]。能够经过r[0]访问匹配值,r.index访问匹配位置,r.input访问源字符串

二、match(reg):匹配正则表达式,而且以数组的形式返回匹配的选项ui

var num = /\d+/g;//加上g的话,就是全局匹配!
var str = "a3 sdf 45 df";
str.match(num);//返回["3", "45"]

对应正则表达式的操做:exec方法,若须要全局匹配,须要使用while循环spa

三、replace方法:略code

四、split方法:regexp

var num = /\d+/;
var str = "1jk3kjk5jk23";
var result = str.split(num);
console.log(result);


参考资料:htm

http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

http://www.w3school.com.cn/js/js_obj_regexp.asp