源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

ES6学习笔记之正则表达式和字符串正则方法分析

  • 时间:2020-06-22 22:57 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ES6学习笔记之正则表达式和字符串正则方法分析
本文实例讲述了ES6正则表达式和字符串正则方法。分享给大家供大家参考,具体如下: [b]RegExp构造函数[/b] 在ES5中,RegExp构造函数的参数有两种情况。 第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag)。
var regex = new RegExp('xyz', 'i');
// 等价于
var regex = /xyz/i;

第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝。
var regex = new RegExp(/xyz/i);
// 等价于
var regex = /xyz/i;

但是,ES5不允许此时使用第二个参数,添加修饰符,否则会报错。
var regex = new RegExp(/xyz/, i);
// Uncaught TypeError: Cannot supply flags when constructing one RegExp from another

ES6改变了这种行为。如果RegExp构造函数第一个参数是一个正则对象,那么可以使用第二个参数指定修饰符。而且,返回的正则表达式会忽略原有的正则表达式的修饰符,只使用新指定的修饰符。
new RegExp(/abc/ig, 'i').flags
// "i"

上面代码中,原有正则对象的修饰符是ig,它会被第二个参数i覆盖。 [b]字符串的正则方法[/b] 字符串对象共有4个方法,可以使用正则表达式:[code]match()[/code]、[code]replace()[/code]、[code]search()[/code]和[code]split()[/code]。 ES6将这4个方法,在语言内部全部调用RegExp的实例方法,从而做到所有与正则相关的方法,全都定义在RegExp对象上。 [code]String.prototype.match[/code] 调用 RegExp.prototype[Symbol.match] [code]String.prototype.replace[/code] 调用 RegExp.prototype[Symbol.replace] [code]String.prototype.search[/code] 调用 RegExp.prototype[Symbol.search] [code]String.prototype.split[/code] 调用 RegExp.prototype[Symbol.split] 字符串对象共有4个方法,可以使用正则表达式:match()、replace()、search()和split()。 [b]PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:[/b] [b]JavaScript正则表达式在线测试工具: [/b][url=http://tools.jb51.net/regex/javascript]http://tools.jb51.net/regex/javascript[/url] [b]正则表达式在线生成工具: [/b][url=http://tools.jb51.net/regex/create_reg]http://tools.jb51.net/regex/create_reg[/url] 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《[url=http://www.1sucai.cn/Special/939.htm]ECMAScript6(ES6)入门教程[/url]》、《[url=http://www.1sucai.cn/Special/909.htm]JavaScript正则表达式技巧大全[/url]》、《[url=http://www.1sucai.cn/Special/843.htm]JavaScript替换操作技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/472.htm]JavaScript查找算法技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/297.htm]JavaScript数据结构与算法技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/439.htm]JavaScript错误与调试技巧总结[/url]》及《[url=http://www.1sucai.cn/Special/119.htm]JavaScript数学运算用法总结[/url]》 希望本文所述对大家JavaScript程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部