盘点javascript 正则表达式中 中括号的【坑】


Posted in Javascript onMarch 16, 2016

在javascript中使用正则时需要注意中括号里边的一个坑,那就是中括号内的元字符问题。自己踩到坑了,网上搜了一下还有不少人踩了这个坑,所以大概说一下。

中括号在正则中称为字符组(Character class),有的书翻译为字符类,还有的翻译成字符集。我觉得字符组更好点,毕竟class在计算机属于中代表面向对象里的“类”。顾名思义,字符组为一组字符,它表示在一个位置里可能出现的多种字符。注意这里强调只匹配一个位置哦。(此段摘自-http://www.cnblogs.com/snandy/p/3662423.html)

 

用到一个取任意字符的地方,于是用了[.\n]*   结果  test一下 返回true,但是放到具体的环境当中不对。。。。。。哎呀我去,不可以理解了。

果断测试一下   var testp = /xx>[.\n]*/    testp.test("xx>asdfdfasd");  果断还是 true,把"xx>"放后面也是true,但是,两边都放上就是false。这是为什么呢??????

 

于是又重新 搞下var testp = /(xx>[.\n]*)/这个,改一下加个括号就可以捕获匹配的串串了。test完了,RegExp.$1一下特么发现 是空。。。。。是空。。。。为啥呢????

当把test的字符串参数变成("...........")时,这串点出现了,所以呢,这个中括号里边点就只代表点,不代表别的,不是元字符除\n以外的单字符的意思了。于是网上搜了一下:

“很多元字符在字符组内都变成了普通字符”  对它变成了普通字符了,而不是元字符了,还有其他的像  "?","+","*"这几个一旦放到中括号也变成了普通的字符了。

所以这个坑还是要当心啊。。。。

 

对了,任意字符可以用 [\s\S]代替。

以上这篇盘点javascript 正则表达式中 中括号的【坑】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
php 中序列化和json使用介绍
Jul 08 Javascript
jquery form表单序列化为对象的示例代码
Mar 05 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
Aug 26 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
Sep 26 Javascript
jquery遍历table的tr获取td的值实现方法
May 19 Javascript
瀑布流的实现方式(原生js+jquery+css3)
Jun 28 Javascript
JavaScript计算器网页版实现代码分享
Jul 15 Javascript
JavaScript中绑定事件的三种方式及去除绑定
Nov 05 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
Aug 27 Javascript
深入理解AngularJS中的ng-bind-html指令
Mar 27 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
Apr 28 Javascript
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
教你用javascript实现随机标签云效果_附代码
Mar 16 #Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
Mar 16 #Javascript
js纯数字逐一停止显示效果的实现代码
Mar 16 #Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
Mar 16 #Javascript
js获取时间精确到秒(年月日)
Mar 16 #Javascript
js实现内容显示并使用json传输数据
Mar 16 #Javascript
javascript中arguments,callee,caller详解
Mar 16 #Javascript
You might like
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
pdo中使用参数化查询sql
2011/08/11 PHP
destoon设置自定义搜索的方法
2014/06/21 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
IE和Firefox下event事件杂谈
2009/12/18 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
js清理Word格式示例代码
2014/02/13 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
详解Vue之事件处理
2020/07/10 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
Python创建文件和追加文件内容实例
2014/10/21 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
C面试题
2015/10/08 面试题
《黄河颂》教学反思
2014/02/07 职场文书
六查六看剖析材料
2014/02/15 职场文书
党员公开承诺书和承诺事项
2014/03/25 职场文书
入职担保书怎么写
2014/05/12 职场文书
司法所长先进事迹
2014/06/02 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
2016年小学生新年寄语
2015/08/18 职场文书