盘点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 相关文章推荐
来自chinaz的ajax获取评论代码
May 03 Javascript
简略的前端架构心得&&基于editor为例子的编码小技巧
Nov 25 Javascript
js中将URL中的参数提取出来作为对象的实现代码
Aug 16 Javascript
JavaScript获取页面中超链接数量的方法
Nov 09 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
Jul 07 Javascript
完美实现八种js焦点轮播图(上篇)
Jul 18 Javascript
js简单实现图片延迟加载的方法
Jul 19 Javascript
自动适应iframe右边的高度
Dec 22 Javascript
新手必须知的Node.js 4个JavaScript基本概念
Sep 16 Javascript
浅谈Vue数据响应
Nov 05 Javascript
axios 实现post请求时把对象obj数据转为formdata
Oct 31 Javascript
解决ant Design Search无法输入内容的问题
Oct 29 Javascript
教你用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
substr()函数中文版
2006/10/09 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
Laravel框架实现利用监听器进行sql语句记录功能
2018/06/06 PHP
ext for eclipse插件安装方法
2008/04/27 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
2016/05/10 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
浅谈vue后台管理系统权限控制思考与实践
2018/12/19 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
Python多线程编程(五):死锁的形成
2015/04/05 Python
Python 如何访问外围作用域中的变量
2016/09/11 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
行政管理人员精品工作推荐信
2013/11/04 职场文书
北京大学自荐信范文
2014/01/28 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
学生违反校规检讨书
2014/10/28 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
《风筝》教学反思
2016/02/23 职场文书
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题