JS正则表达式
JS正则表达式 1.两种模糊匹配 1.1 横向模糊匹配 横向模糊指的是,一个正则可匹配的字符串的长度不是固定的,可以是多种情况的。 其实现的方式是使用量词。譬如{m,n},表示连续出现最少m次,最多n次。 比如/ab{2,5}c/表示匹配这样一个字符串:第一个字符是“a”,接下来是2到5个字符“b”,最后是字符“c”。测试如下: var regex = /ab { 2,5 } c/g ; var string = "abc abbc abbbc abbbbc abbbbbc abbbbbbc" ; console.log ( string.match ( regex ) ) ; // = > [ "abbc" , "abbbc" , "abbbbc" , "abbbbbc" ] 注意:案例中用的正则是/ab{2,5}c/g,后面多了g,它是正则的一个修饰符。表示全局匹配,即在目标字符串中按顺序找到满足匹配模式的所有子串,强调的是“所有”,而不只是“第一个”。g是单词global的首字母。 1.2 纵向模糊匹配 纵向模糊指的是,一个正则匹配的字符串,具体到某一位字符时,它可以不是某个确定的字符,可以有多种可能。 其实现的方式是使用字符组。譬如[abc],表示该字符是可以字符“a”、“b”、“c”中的任何一个。 比如/a[123]b/可以匹配如下三种字符串:“a1b”、“a2b”、