美文网首页
正则表达式的学习

正则表达式的学习

作者: moving_mG | 来源:发表于2018-02-28 15:45 被阅读0次

    正则表达式是一种匹配模式,对于校验表单起着尤为重要的作用。


    正则表达式字符的匹配攻略

    1. 精确匹配
    var regex = /Heiman/; 
    console.log( regex.test("Heiman") ); // => true
    

    以上代码块,可以将regex看做是一种校验的标准,去校验字符 "Heiman" 这种匹配方式一目了然,当然在实际中精确匹配的应用场景比较少。主要是下面两种匹配方式。

    1. 横向模糊匹配
      横向模糊指的是,一个正则可匹配的字符串的长度不是固定的,可以是多种情况的。
      其实现的方式是使用量词。譬如 {min,max},表示连续出现最少 min 次,最多 max 次。
      比如正则 /ab{2,5}c/ 表示匹配这样一个字符串:第一个字符是 "a",接下来是 2 到 5 个字符 "b",其中{min,max}就是对字符b起作用,最后 是字符 "c"。
    const regex = /ab{2,5}c/g;  // 说白了就是允许多少个b字符出现嘛
    const string = "abc abbc abbbc abbbbc abbbbbc abbbbbbc"; 
    console.log( string.match(regex) ); // => ["abbc", "abbbc", "abbbbc", "abbbbbc"]
    
    1. 纵向模糊匹配
      纵向模糊指的是,一个正则匹配的字符串,具体到某一位字符时,它可以不是某个确定的字符,可以有多种 可能。
      其实现的方式是使用字符组。譬如 [abc],表示该字符是可以字符 "a"、"b"、"c" 中的任何一个。
      比如 /a[123]b/ 可以匹配如下三种字符串: "a1b"、"a2b"、"a3b"
    const regex = /a[123]b/g;
    const string = "a0b a1b a2b a3b a4b"; 
    console.log( string.match(regex) ); // => ["a1b", "a2b", "a3b"]
    

    本文参考于<<JavaScript 正则表达式迷你书>>

    相关文章

      网友评论

          本文标题:正则表达式的学习

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