JavaScript中正则表达式的使用

正则表达式的组成

由普通字符(例如字符a~z)以及特殊字符(称为元字符)组成
字符:任何一个字符都可以作为正则表达式的字符

[abc]  表示一个字符 a或者b或者c	
[a-z]  表示所有的小写
[A-Z]  表示所有大写
[0-9]  表示所有数字
[^0-9] 表示除数字所有字符
[a-c]  表示h到m之间所有小写字母
[a-zA-Z_0-9] 表示单词字符[小写字母 大写字母 _ 数字]

预定义字符

.   任意一个字符
\w  匹配字母、数字、下划线
\W  匹配非字母、数字、下划线
\d  匹配一个数字字符
\D  匹配一个非数字字符
\s  匹配任何空白字符
\S  匹配任何非空白字符

修饰词
g 全局匹配
i 忽略大小写

数量词的使用

[a]{n}  表示a出现n次
[a]{n,} 表示n次以上
[a]{n,m} 表示最少出现n次,最多出现m次
[a]?     表示出现0次或者1[a]+     表示出现1次或者多次
[a]*     表示出现0次或者多次 

贪婪性数量词和懒惰性数量词

贪婪性数量词: JavaScript默认添加
懒惰性数量词

 {n,}?  表示数量是n次即以上,但尽可能少
  ?? 数量是0次,但尽可能少

边界词的使用

^1   表示开头必须为1
1$   表示必须已1结尾
\babc\b   表示获取abc这个单词

分组及分组的捕获

使用()来对正则表达式进行分组,整个表达式默认是一个分组,每个分组都有一个下标,下标从0开始
分组捕获格式:

(\w)\下标    表示括号里的值是什么,\下标 就表示什么

断言的使用

(?<=exp)正则表达式 匹配一个正则表达式,左边必须满足断言的条件

let str="LD:12345664122 QQ:654645645";
let e=/(?<=LD:)\d{11}/;
console.log(str.match(e));

正则表达式(?=exp) 匹配一个正则表达式,右边必须满足断言的条件

let str="LD:12345664122QQ:654645645";
let e=/\d{9}(?=QQ:)/;
console.log(str.match(e));

(?<!exp)正则表达式 匹配一个正则表达式,左边不满足断言的条件

let str="LD:12345664122QQ:654645645";
let e=/(?<!LD:)\d{9}/;
console.log(str.match(e));

正则表达式(?!exp) 匹配一个正则表达式,右边不满足断言的条件

let str="654645645LD:12345664122QQ:654645645";
let e=/\d{9}(?!QQ:)/;
console.log(str.match(e));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值