正则表达式基础全掌握(前端JavaScript)中篇

上次介绍了工作当中常用到的正则表达式的基础篇,这次来介绍一下我工作当中经常使用到的正则中篇

常见的数量修饰符
o? 表示匹配0次或者一次 有或者没有都行
o* 表示匹配0次或者1次或者多次(任意个)
o+ 表示匹配1次或者多次 至少得有一次
o{m,n} 表示匹配的数量是大于m 小于n,包含m与n
o{m,}表示至少大于m次
o{m}表示匹配的次数只能是m次,限定次数

常见的锚修饰符
^ 表示从头开始匹配 需要区分非[]修饰符,该修饰符的位置是中括号的外面1从头开始匹配
$ 表示从尾开始匹配
\b 匹配是否到了边界在[]中无效
\B匹配不是边界

中括号[a-zA-Z]表示的是字母a-z A-Z 之间
中括号[0-9]表示的是数字0到9之间
在中括号[]当中加上[^ 0-9]表示非0到9之间的数字
使用元符号匹配
.点字符表示的是除了换行符之外的所有字符,注意点.的个数需要一一对应

\d 匹配的是数字
\D匹配的是非数字
\w匹配的是数字和字母_下划线
\W 匹配的是非数字和字母及_下划线
分组
如果匹配的是一组需要定义的字符串可以采用分组,例如:
var pattern=/ab(def){2,6}/ //匹配的是一组def
var pattern=/abdef{2,6}/ //匹配的是单个f
或运算符|
var pattern=/ab|cd|ef/ //匹配的是这三组当中的任意一组
获取分组的值
var pattern=/8(.*)8/;
var str=‘this is a 8Google8’;
pattern.test(str);
alert(RegExp.$1);可以获取到Google

贪婪模式和非贪婪模式
这个是工作当中经常使用到的
var pattern=/[a-z]+/;
var str=‘abcdefg’;
var result=str.replace(pattern,1);//该模式下会将所有的字母全部替换成了1

如果采用惰性模式

字符串还是上面的字符串,模式匹配修改成如下
var pattern=/[a-z]+?/;
str.replace(pattern,1);
只有第一个字符会被替换
如果希望匹配的字符逐个替换,
var pattern=/8(.*?)8/g;
var str=‘8Google8 8Google8 8Google8’;
str.replace(pattern,‘hao’)
这样操作将全部替换三组匹配的字符串


  1. 0-9 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值