javascript正则学习(二)

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值