正则

正则

正则表达式是一种规则,他是跨语言的,用来验证字符串
它是匹配特殊字符或有特殊搭配原则的字符的最佳选择
它的基本书写格式为:/ 匹配条件/附加区域或者附加作用规则
例如:

var s = 'aaaabiceai123dajio13i'
//要找到所有的数字
var reg = /\d+/g;
console.log(s.match(reg)); // ['123','13']

经常用到的匹配字符有:

^:匹配输入字符串的开始位置;
$:匹配输入字符串的结尾位置;
+:一次或多次;
*:零次或多次;
\b:匹配一个单词边界,如er\b,可以匹配ver,但是匹配不了neverd中的er
\B:匹配非单词边界
\d :匹配一个数字字符,相当于[0-9];
\D:匹配一个非数字字符;
\r:匹配一个回车符;
\n:匹配一个换行符;
\s:匹配一个空白字符,包括空格,制表符,换页符等;
\S:匹配一个非空白字符;
\w:匹配字母数字或者下划线;
\W:匹配非字母,数字,下划线;
[a-z]:匹配a-z之间的字母;
[A-Z]:匹配A-Z之间的字母;
[\u4e00-\u9fa5]:匹配一个汉字
然后/后面如果加上g表面是作用于全局,会把给的字符串查找完毕,如果加上i表面不区分大小写,如果加上m,表面多行匹配;
下面,我就写几个例子,看看怎么运用这些字符,来达到我们的需求:

var s = '1ass2s3asdf14asdf';
        // 需求:匹配 一个数字紧跟一个字母的内容
        var reg = /(\d)([a-z])/g;
        while (result = reg.exec(s)) {
            console.log(result);
        }
        // 去掉在字母前的数字
        console.log(s.replace(reg, function(substr, g1, g2) {
            return g2;
        }));


// 需求: 给字符串去重  'aaabbbcccdd' => 'abcd'
        var str = 'aaabbbcccdd'
        str = str.replace(/(\w)\1+/g, function(substr, g1) {
            return g1;
        })
        console.log(str);

// 需求: 得到一个字符串中中文字符的数量
        var s = 'djaizzing中ji耳机21234我003djia';
        reg = /[\u4e00-\u9fa5]/g;
        console.log(s.match(reg).length);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值