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+))$/










网友评论