盘点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 相关文章推荐
浅谈JavaScript函数参数的可修改性问题
Dec 05 Javascript
jQuery中操控hidden、disable等无值属性的方法
Jan 06 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
Feb 27 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
Jul 29 Javascript
基于JS实现省市联动效果代码分享
Jun 06 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
Jul 09 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
Dec 28 Javascript
js实现图片加载淡入淡出效果
Apr 07 Javascript
JavaScript ES6中const、let与var的对比详解
Jun 18 Javascript
详解从新建vue项目到引入组件Element的方法
Aug 29 Javascript
基于iview-admin实现动态路由的示例代码
Oct 02 Javascript
js实现图片无缝循环轮播
Oct 28 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
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
php在线代理转向代码
2012/05/05 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
js获取图片宽高的方法
2015/11/25 Javascript
js面向对象的写法
2016/02/19 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
js中的 || 与 && 运算符详解
2018/05/24 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
详解vue路由
2020/08/05 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
python selenium firefox使用详解
2019/02/26 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
大学生自我评价怎样写好
2013/10/23 职场文书
酒店公关部经理岗位职责
2013/11/24 职场文书
幼儿园小班教学反思
2014/02/02 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
婚内房产协议书范本
2014/10/02 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
费用申请报告范文
2015/05/15 职场文书
新年晚会主持词开场白
2015/05/28 职场文书
详解nginx.conf 中 root 目录设置问题
2021/04/01 Servers
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python