1. 概念
正则的两个方法:
正则的匹配(test):匹配字符串的格式是否符合既定的格式
正则的捕获(exec):把一个字符串中符合既定格式的内容获取到
正则的组成:每个正则都是由元字符和修饰符两部分组成
元字符:/.../ 两个 '/' 之间的内容
修饰符:
g(global)->全局匹配
i(ignoreCase)->忽略大小写匹配
m(multiline)->换行匹配
2. 具有特殊意义的元字符
元字符 | 描述 |
---|---|
\d | 匹配一个0-9的数字,相当于[0-9] |
\D | 匹配一个除了0-9的任意字符 |
\w | 匹配一个0-9、a-z、A-Z、的数字或字符,相当于[0-9a-zA-Z] |
\W | 任何不是ASCⅡ字符组成的单词,等价于[^a-zA-Z0-9_] |
\s | 匹配一个空白字符(空格、制表符...) |
\b | 匹配一个单词的边界 |
\t | 匹配一个制表符 |
\n | 匹配一个换行 |
. | 匹配一个除了\n以外的任意字符 |
^ | 以某一个元字符开头 |
$ | 以某一个元字符结尾 |
\ | 转义字符 |
[xyz] | x、y、z中的任意一个 |
[^xyz] | 除了xyz中的任意一个字符 |
[a-z] | 匹配a-z中的任意一个字符 |
[^a-z] | 匹配除了a-z中的任意一个字符 |
() | 正则中的分组 |
3. 量词元字符
元字符 | 描述 |
---|---|
+ | 匹配前一项1次或多次,等价于{1,} |
* | 匹配前一项0次或多次,等价于{0,} |
? | 匹配前一项0次或1次,也就是说前一项是可选的,等价于{0,1} |
{n} | 匹配前一项n次 |
{n,} | 匹配前一项n次或多次 |
{n,m} | 匹配前一项至少n次,但不能超过m次 |
例子:
- 匹配正负数,且最多两位小数
var reg = /^-?(\d|([1-9]\d+))(.?\d{1,2})?$/ - 正整数
var reg = /^(\d|([1-9]\d+))$/ - 正负整数
var reg = /^-?(\d|([1-9]\d+))$/
网友评论