正则表达式的学习

2018-02-28  本文已影响0人  moving_mG

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


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

  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 正则表达式迷你书>>

上一篇下一篇

猜你喜欢

热点阅读