zoukankan      html  css  js  c++  java
  • 正则

    1) 从几到题开始,

    a. 千分位 10000000 => 10,000,000

    note:

    • a(?=x) 仅匹配a后面跟着的x, ax. =. x
    • a(?:d{3}) 仅仅作为匹配, 不做记忆。
    • (a) 作为匹配的结果

     1 '10000000'.replace(/(d)?=((?:d{3})+)$/g, '$1,')  

    b. 姓和名交换。 ‘John, dee’ => 'Dee John'

    'John, dee'.replace(/(w+)s+,s+(w+)/g, '$2 $1')
    
    'John, dee'.replace(/(w+)s+,s+(w+)/g, (l1, l2)=>{
       const L1 =  l1.replace(/^w/g, i=>i.toUpperCase() )
        const L2 =  l2.replace(/^w/g, i=>i.toUpperCase() )
       return `${L2} ${L1}`;
    })
    

      

    c. 2020-08变成日期格式Aug, 2020. 

    let arr= '2020-08'.match(/d{1,4}/g);
    arr[1]++;
    return new Date(arr)
    

      

     2) 找到并突出一个模式的所有实例

    在一个循环中, 使用RegExp exec方法和全局标志(g, 来找到一个模式的所有实例。

    其实:

    index:找到匹配的索引

    input:最初的输入字符串

    [0]: 匹配的值

    [1]...[n]: 带圆括号的子字符串匹配

    如 re = /a(p+).*(pie)/g

    re.exec('The apple is a  app pie')

    ['apple is a app pie', 'pp', 'pie']

    var searchString = 'Now is the time and this is the time and that is the time';
    var pattern = /tw*e/g;
    var matched;
    var str = '';
    
    while((matched = pattern.exec(searchString))!=null){
        str += 'at '=matched.index+" we found "+matched[0]+'
    ';
    }
    console.log(str);

      

  • 相关阅读:
    跟我学Angular2(1-初体验)
    JavaScript之糟粕
    JavaScript之毒瘤
    CSS布局(下)
    CSS布局(上)
    ES6入门系列三(特性总览下)
    ES6入门系列四(测试题分析)
    setTimout执行时间
    进程和线程关系及区别
    css3新单位学习
  • 原文地址:https://www.cnblogs.com/connie313/p/14413896.html
Copyright © 2011-2022 走看看