最近在工作中遇到一些表单验证的问题,其中有项重要的技术就是利用 正则表达式来校验,下面记录一下学习过程,使用的学习工具是网站RegExrv2.1。
初识字符集
在匹配模式里,可以定义字符集,每个字符集装的是拿来匹配的字符,匹配引擎会匹配这个字符集合里的其中一个字符。
定义一个字符集可以使用一组方括号 [ ] , 在这个字符集里放上 ace 这几个字符。
/[ace]/g
你会看到,匹配的结果就是:a 或者 c 或者 e 。,如图所示:
数字 135 匹配的结果就是 1 或者 3 或者是 5 。
一个小于号 < ,一个大于号 > 。
从上面的示例可以指导,利用字符集匹配的结果就是在这个字符集里出现的任意一个符号。
在字符集里有些特殊的字符不需要转义,比如一个点 .
这个 . 如果不在字符集里面,那么它就是一个通配符 。 它会匹配除了换行符以外的所有字符。
燃鹅,大家可能也发现了,装字符集的方括号,相比较字母、数字,本身就是特殊字符,所以 [ ] 是需要进行转义的。 这时,[ ] 两者的地位与 1 2 3 平等的,都被当成普通字符进行匹配了。
字符集的应用——否定字符集
集合的相关概念指出,『存在任意一个元素』的否命题是,『所有元素都不存在』,根据这个原理,字符集加上表示否定的 ^ 符号,就可以用于构建否定字符集。注意:^ 不在字符集中使用时,表示 "以......开头"。
/[^123]/g
如下图所示,除了 1、2、3 三个数字外,其他的字符都会被匹配到。