javascript正则学习(二)

来源:互联网 发布:qt淘宝免费互刷平台 编辑:程序博客网 时间:2024/05/29 00:32

1.将所有单词首字母换成大写

    var str="javascript is a best language";    var reg=/\b(\w+)\b/g;//【匹配一个单词】    str.replace(reg,function(word){        var reg=/\w+?/;//【非贪婪模式,每个单词的第一个字符】        return word.replace(reg,function(w){            return w.toUpperCase();        });    });

**

replace详解

**
replace(reg,function(arguments){
//返回结果作为替换字符,如果没有返回,默认返回undefined
})
//参数arguments详解

var str="aa javascript 8.12  sad aa css 9.14  sad"var reg=/(\w+)\s+(\d+)\.(\d+)/;//【非全局,每次只匹配第一个】str.replace(reg,function(){   console.log(arguments);});//["javascript 8.12", "javascript", "8", "12", 3, "aa javascript 8.12  sad aa css 9.14  sad"]//[第一个匹配项,第一个子选项,第二个子选项,第三个子选项,当前匹配项索引,原字符串]var str="aa javascript 8.12  sad aa css 9.14  sad"var reg=/(\w+)\s+(\d+)\.(\d+)/;//【全局,匹配所有】str.replace(reg,function(){   console.log(arguments);});//["javascript 8.12", "javascript", "8", "12", 3, "aa javascript 8.12  sad aa css 9.14  sad"]["css 9.14", "css", "9", "14", 27, "aa javascript 8.12  sad aa css 9.14  sad"]

贪婪匹配和非贪婪匹配

贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。
非贪婪匹配:就是匹配到结果就好,就少的匹配字符。
默认是贪婪模式;在量词后面直接加上一个问号?就是非贪婪模式。
贪婪模式的标示符
【+】 【?】【*】【{n}】 【{n,}】【{n,m}】
惰性模式:
【+?】 【??】【*?】【{n}?】 【{n,}?】【{n,m}?】

//贪婪匹配var str='aaa12345678';var reg=/[a-z]+\d{3,}/;str.match(reg);//aaa12345678//非贪婪匹配var reg=/[a-z]+\d{3,}?/;str.match(reg);//aaa123
0 0
原创粉丝点击