美文网首页
正则小结

正则小结

作者: 不要面包要蛋糕 | 来源:发表于2023-07-02 15:57 被阅读0次

    一些常用正则

    1、匹配以特定字符开头和结尾的所有字符,如匹配注释

    // 以 sql 语句注释为例
    // 1、多行注释,匹配换行的情况
    const regex = /\/\*([\s\S]*?)\*\//g
    const str = '/*注释1*/这是注释/*注释2*/'
    const res = str.match(regex)
    console.log(res) // res - ['/*注释1*/', '/*注释2*/']
    // 2、单行注释,以 -- 开头,不匹配换行
    const regex = /--(.*)$/
    const str = '--这是注释   的一行'
    const res = str.match(regex)
    console.log(res) // res - [ "--这是注释   的一行", "这是注释   的一行"]
    
    一些解释:

    1、“.”(点符号)匹配除了换行符“\n”以外的所有字符。
    2、匹配任意表达式(包括换行符)的方法:([\s\S]*), 也可以用 ([\d\D]) 或 ([\w\W])。
    3、“^”: ^ 匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置。在方括号中使用时,表示不接受该方括号表达式中的字符集合。
    4、“$”: $ 匹配行或字符串的结尾。
    5、“\b”: 不会消耗任何字符只匹配一个位置,常用于匹配单词边界。如 我想从字符串中“This is Regex”匹配单独的单词 “is” 正则就要写成 “/\bis\b/”。
    6、“\d”: 匹配数字。
    7、“\w”:匹配字母,数字,下划线。如匹配 "abcd_dddd", 正则:/w+/, 这里的“+”字符为一个量词指重复的次数。
    8、“\s”:匹配任何空白字符,包括空格,制表符,换页符等,等价于[\f\n\r\t\v]。
    9、“\S”:匹配任何非空白字符。
    10、“()”: 标记一个子表达式的开始和结束位置。如 abcd 时,每个字母是分开的;a(bcd) 时,bcd 为一个整体。
    11、“*”:匹配前面的子表达式零次或多次。
    12、“+”:匹配前面的子表达式一次或多次(最少匹配一次)。
    13、“?”:匹配前面的子表达式零次或一次(贪婪模式),正则中默认是非贪婪模式。如字符串 aacaaac,正则表达式 \S+c 匹配结果是 aacaaac;贪婪模式 \S+?c 匹配结果为 aac,最多只匹配一次。

    相关文章

      网友评论

          本文标题:正则小结

          本文链接:https://www.haomeiwen.com/subject/fnyfudtx.html