正则表达式易忽略的点

    开篇之前,先介绍两个好用的在线网站

1、https://regexper.com/ 在线测试正则表达式

2、http://jsbin.com/?js,console 在线测试js脚本网站

详细的正则教程,请看这里 http://deerchao.net/tutorials/regex/regex.htm

接下来说下正则中易忽视的错误

单词边界与非单词边界 \b \B

/\Bis\b/g        This is a boy. 将会匹配This 中的is,而is 不会匹配
"this is a boy".replace(/\Bis\b/g,'X')
"thX is a boy"

输入图片说明 这是regexperg的示例图

正则分组

/(\d{4})-(\d{2})-(\d{2})/g    
可以通过$1 $2 $3 来获取对应的分组数据
"2016-11-25".replace(/(\d{4})-(\d{2})-(\d{2})/g,'$1')     结果为:2016
"2016-11-25".replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2')     结果为:11
"2016-11-25".replace(/(\d{4})-(\d{2})-(\d{2})/g,'$3')     结果为:25

输入图片说明

利用这个特性,我们可以用来转换日期格式,例如将2016-11-25转换为11/25/2016

"2016-11-25".replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1')  结果为"11/25/2016"

**(?=exp)也叫零宽度正预测先行断言 (?=exp) 断言自身出现的位置的后面能匹配表达式exp

/\b\w+(?=ing\b)/g 从一个单词边届开始,至ing结束

我们想把一段英文句子中所有ing前面的单词替换成相同的单词
"I'm singing while dancing.".replace(/\b\w+(?=ing\b)/g,'read')  结果"I'm reading while reading."

输入图片说明

今天先写到这里,有些困。。。

转载于:https://my.oschina.net/u/1273644/blog/852235

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值