• 正则中的()、[]、{}


    () 代表分组
    分组(子项)
    用小括号表示分组

    可以提权: (1+1) * 5

    从左往右来数,有几个()就有几个分组

    /(d+)D+(((d)+)((D))+)(d+)/

    在replace中,有几个分组,$0后面的参数就是这几个分组的值

    当分组和形参对应完之后,又是index、input、undefined

    注意:
    在分组中,如果分组的后面直接加了量词,那么结果为量词的终点位置。

    如:
    let str = '2018.--/11---..5';
    str.replace(/((d+)+)D+(d+)D+(d+)/,$0,$1,$2)
    $1 是2018
    $2 ((d)+)是8
    [] 中只代表一个

    数字0-9

    字母:a-z 97-122

    大写字母:A-Z 65-90

    大写小写的范围: [A-Za-z]
    如果要用匹配18-110以内的数字
    ( /^1[89]$|^[2-9][0-9]$|^10[0-9]$|^110$/).test(string);
      (/^((1[89])|([2-9][0-9])|(10[0-9])|(110))$/.test(string);
    {} 量词的范围

    {n,m}
    {0,1} == ? 最小没有最大1个

    {1,} == + 最小1个最多不限

    {1,3} 最少1个,最多3个

    {0,} * 最小没有,最多无限

    {9} 最大最小都是9
    代码的世界很精彩,好的代码需要慢慢的打磨。
  • 相关阅读:
    HDU 4893 线段树
    Catalan数推导(转载)
    URAL 1992
    小乐乐吃糖豆
    排列组合问题总结
    G
    F
    C
    D
    B
  • 原文地址:https://www.cnblogs.com/Allisson/p/9948753.html
Copyright © 2020-2023  润新知