盘点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 相关文章推荐
关于js datetime的那点事
Nov 15 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
Jan 27 Javascript
js仿百度有啊通栏展示效果实现代码
May 28 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
Oct 24 Javascript
js实现数字每三位加逗号的方法
Feb 05 Javascript
JavaScript动态修改背景颜色的方法
Apr 16 Javascript
JS模拟并美化的表单控件完整实例
Aug 19 Javascript
微信小程序 animation API详解及实例代码
Oct 08 Javascript
微信小程序教程系列之视图层的条件渲染(10)
Apr 19 Javascript
angular中的cookie读写方法
Aug 02 Javascript
Vue-CLI3.x 设置反向代理的方法
Dec 06 Javascript
JavaScript控制台的更多功能
Apr 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
php中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
详谈PHP编码转换问题
2015/07/28 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
react实现换肤功能的示例代码
2018/08/14 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
Python对象类型及其运算方法(详解)
2017/07/05 Python
python爬虫基本知识
2018/03/05 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
python全栈开发语法总结
2020/11/22 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
Flask中jinja2的继承实现方法及实例
2021/03/03 Python
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
Python中pass语句的作用是什么
2016/06/01 面试题
班会关于环保演讲稿
2013/12/29 职场文书
物业保安员岗位职责
2014/03/14 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
大学生作弊检讨书
2014/09/11 职场文书
授权委托书公证
2014/09/14 职场文书
考研英语复习计划
2015/01/19 职场文书
自我推荐信怎么写
2015/03/24 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
基于Python实现nc批量转tif格式
2022/08/14 Python