JavaScript正则表达式(上)

1.为什么要使用正则表达式?

例如上一节中查找字符串中数字子串的问题,用算法则很费力气才做出来,但是用正则表达式很容易几行代码就搞定了,常见的注册信息、电话号码、QQ号码、邮箱的识别等等使用正则表达式都是很容易的事情。可以简化代码量和工作量。

2.正则表达式常见的两种写法

var re = /<[^>]+>/g;//非正式写法
var re = new RegExp('\\b');//正式写法

3.正则表达式中的几个规则?

a.匹配方法

/s      空格
/S      非空格
/d      数字
/D      非数字
/w      字符 (数字 字母和下划线)
/W      非字符

b.量词

* 和 ?为了说明这三个的意义先来看下量词的用法:
{3,9} 表示最少出现3次 不能超过9次
{6,} 表示最少出现6次
{6} 表示正好出现6次

了解了以上的含义现在来看:
* {0,}表示至少出现零次
+ {1,}表示至少出现1次
? {0,1}表示零次或者一次

3.正则表达式中最重要的几个方法?

有可能上面这两种规则看着比较难以理解,下面通过代码来解释同时介绍一些常用的方法:
match()方法书写方式:字符串.match(正则),匹配成功返回数组,失败返回null,如下代码实现的是上一节中查找字符串中数字子串的功能:

//要进行匹配的字符串
var str = 'aasdf987adedw321wbsd5ghjk659';
//实现查找字符串中数字子串的方法
function findNumStr(str){
    /*
        进行匹配的正则表达式,有上面的规则知道\d(d表示digit数字的英
        文缩写)表示数字的意思,\d后面的+号表示数字可以出现至少一次,
        也就是一次或者多次的意思,那么最后正则表达式最后面的g是什么意
        思呢?是进行全局匹配的意思,在整个字符串中将符合正则表达式的
        数字字串找出来。匹配成功过后就会结束整个过程,返回匹配结果。
    */
    return str.match(/\d+/g);
}
alert(findNumStr(str));

那么有以上可以写出下面的简单正则表达式适应下:

var re = /\D/;//判定非数字
var re = /\S/;//非空格

在上面的几个正则表达式中反斜杠是什么意思呢?转义,如果没有反斜杠那么将变成对特定字母的匹配。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值