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

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

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

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

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

注意: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访问源字符串 

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

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

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

3、replace方法:略

4、split方法:

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


参考资料:

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

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


你可能感兴趣的:(javascript)