盘点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 相关文章推荐
激活 ActiveX 控件
Oct 09 Javascript
直接生成打开窗口代码,不必下载
May 14 Javascript
jquery 操作DOM的基本用法分享
Apr 05 Javascript
浅谈Javascript事件处理程序的几种方式
Jun 27 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
Apr 24 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
Sep 06 Javascript
JS实现程序暂停与继续功能代码解读
Oct 10 Javascript
JavaScript中document对象使用详解
Jan 06 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
May 24 Javascript
详解JS异步加载的三种方式
Mar 07 Javascript
element-ui 上传图片后清空图片显示的实例
Sep 04 Javascript
浅谈JS中this在各个场景下的指向
Aug 14 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
一个简单的MySQL数据浏览器
2006/10/09 PHP
关于Intype一些小问题的解决办法
2008/03/28 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
JQuery实现绚丽的横向下拉菜单
2013/12/19 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
更改Python命令行交互提示符的方法
2015/01/14 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python遍历目录中的所有文件的方法
2016/07/08 Python
Python抽象和自定义类定义与用法示例
2018/08/23 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
华为慧通面试题
2012/09/11 面试题
软件测试笔试题
2012/10/25 面试题
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
大学生个人自我鉴定
2013/12/03 职场文书
财务部出纳岗位职责
2013/12/22 职场文书
建筑工地宣传标语
2014/06/18 职场文书
元旦标语大全
2014/10/09 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
党员转正介绍人意见
2015/06/03 职场文书
校运会通讯稿
2015/07/18 职场文书
2016领导干部廉洁自律心得体会
2016/01/13 职场文书
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android
React更新渲染原理深入分析
2022/12/24 Javascript