摘要:XRegExp 是一个开源的 JavaScript 库提供一个参数化、可扩展的支持各种浏览器的正则表达式的实现库,支持附加语法、标志以及方法。希望本文对大家学微信有所帮助。
XRegExp 是一个开源的 JavaScript 库提供一个参数化、可扩展的支持各种浏览器的正则表达式的实现库,支持附加语法、标志以及方法。
XRegExp
XRegExp是一个为JS的正则表达式提供扩展功能的库, 调用之后可以弥补原生JS在正则方面的一些不足,也在很大程度上增强了JS正则的功能。它解决了浏览器之间正则的兼容问题,且支持原生ES6正则语法。
XRegExp的主要特性:
· 扩展的正则语法,包括支持命名的捕获组以及更强大的文本替换
· 增加修饰符(flags)s支持单行模式;x 忽略空格以及行注释;n 明确捕获组模式;A 支持21位Unicode匹配
· 提供一套函数简化正则处理
· 解决跨浏览器的正则兼容问题
· 在此基础上提供扩展(addons)支持更多的正则语法和功能
XRegExp 使用
XRegExp 的最主要的 API 是构造函数,语法如下:
XRegExp(pattern, [flags])
· pattern参数为字符型的正则表达式
·
[flags]为可选的正则修饰符,当然也是字符型,它支持原生的修饰符以及XRegExp中的扩展修饰符
·
返回值为被扩展的正则对象。
·
var date = XRegExp('(?<year> [0-9]{4} ) -? # year \n\ (?<month> [0-9]{2} ) -? # month \n\ (?<day> [0-9]{2} ) # day ', 'x'); var match = XRegExp.exec('2015-02-22', date); console.log(match.year); // 输出:2015 forEach var evens = []; XRegExp.forEach('1a2345', /\d/, function (match, i) { if (i % 2) evens.push(+match[0]); }); console.log(evens); // 输出:[2, 4] matchChain var result1 = XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [ XRegExp('(?is)<b>.*?</b>'), /\d+/ ]); console.log(result1); // 输出:["2", "4", "56"] var html = '<a href="//xregexp.com/">XRegExp</a>' + '<a href="//www.google.com/">Google</a>'; var result2 = XRegExp.matchChain(html, [ { regex: /<a href="([^"]+)">/i, backref: 1 }, { regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain' } ]); console.log(result2); // 输出:["xregexp.com", "www.google.com"] union var result3 = XRegExp.union(['a+b*c', /(dog)\1/, /(cat)\1/], 'i'); console.log(result3); // 输出:/a\+b\*c|(dog)\1|(cat)\2/i exec var pos = 3; var result4 = []; while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\d+)>/, pos, 'sticky')) { result4.push(match[1]); pos = match.index + match[0].length; } console.log(result4); // 输出:['2', '3', '4'] replace var result5 = XRegExp.replace('2015-02-22', date, '${month}/${day}/${year}'); console.log(result5); var result6 = XRegExp.replace('2015-02-22', date, function (match) { return match.month + '/' + match.day + '/' + match.year; }); console.log(result6);
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号