欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 扩展微信小程序框架功能:正则表达式

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:501

扩展微信小程序框架功能:正则表达式

发布时间:2020-12-06  

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</a>' +        '<a href="">Google</a>';    var result2 = XRegExp.matchChain(html, [        { regex: /<a href=http://www.yiyongtong.com/archives/"([^"]+)">/i, backref: 1 },        { regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain' }    ]);    console.log(result2); // 输出:["xregexp.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); 参考资料

XRegExp

XRegExp@github

JavaScript正则库:XRegExp

其他

完整代码:https://github.com/guyoung/GyWxappCases/tree/master/Enhance

微信小程序Canvas增强组件WeZRender:https://github.com/guyoung/WeZRender