码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式中,转义字符、元字符在 [] 中的含义

时间:2015-08-11 17:58:58      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

今天遇到一个问题

‘5.4.0a‘.match(/[\d.]+/)

按照我之前的理解,[]表示里面的任意一个字符的意思,\d表示数字,.表示任意单个字符,这样的话,匹配结果应该是‘5.4.0a‘

but,实践结果是 ‘5.4.0‘

显然这里的.表示的只是. 并没有别的意思,‘5.4.0a‘.match(/[\d\.]+/) 测试这句结果也是一样的。

这么看,问题的关键应该是[],

先去看看mdn的解释:
技术分享

这说明,并不能看出什么特别的含义,于是只好自己多测试了一些demo,and和其他前端小伙伴交流了一下:

‘5*4*0a‘.match(/[\d*]+/)  //‘5*4*0‘
‘5^4^0a‘.match(/[\d^]+/) //‘5^4^0‘
"\n"=="n"  //false
"\a"==="a" //true

可以总结一下了:

1.对于没有转义含义的字符,\x===x
2.对于正则[]中的字符,

正则表达式中,转义字符、元字符在 [] 中的含义

标签:

原文地址:http://www.cnblogs.com/youryida/p/4721511.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!