免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動推薦你的品牌,搶占AI流量入口!  點擊查看

小程序模板網(wǎng)

擴展微信小程序框架功能:正則表達式

發(fā)布時間:2018-04-14 14:40 所屬欄目:小程序開發(fā)教程

XRegExp 是一個開源的 JavaScript 庫提供一個參數(shù)化、可擴展的支持各種瀏覽器的正則表達式的實現(xiàn)庫,支持附加語法、標志以及方法。

XRegExp

XRegExp是一個為JS的正則表達式提供擴展功能的庫, 調(diào)用之后可以彌補原生JS在正則方面的一些不足,也在很大程度上增強了JS正則的功能。它解決了瀏覽器之間正則的兼容問題,且支持原生ES6正則語法。

XRegExp的主要特性:

  • 擴展的正則語法,包括支持命名的捕獲組以及更強大的文本替換
  • 增加修飾符(flags)s支持單行模式;x 忽略空格以及行注釋;n 明確捕獲組模式;A 支持21位Unicode匹配
  • 提供一套函數(shù)簡化正則處理
  • 解決跨瀏覽器的正則兼容問題
  • 在此基礎(chǔ)上提供擴展(addons)支持更多的正則語法和功能

XRegExp 使用

XRegExp 的最主要的 API 是構(gòu)造函數(shù),語法如下:

    XRegExp(pattern, [flags])
  • pattern參數(shù)為字符型的正則表達式
  • [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="http://xregexp.com/">XRegExp</a>' +        '<a href="http://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);

參考資料

  • XRegExp
  • XRegExp@github
  • JavaScript正則庫:XRegExp

其他


 
 
 


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.szcjxy.com/wxmini/doc/course/23378.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點擊咨詢
在線客服