[] 字符集
[^] 字符集中的^代表非
- 连字符
| 或
^ 开始
$ 结束
\w == [a-zA-Z0-9] && _
\W == ^\w
\d == [0-9]
\D == ^\d
\s 不仅匹配空格,还匹配回车符、制表符、换页符和换行符
\S 不匹配空格、回车符、制表符、换页符和换行符
\n 匹配一个换行符
\ f 匹配一个换页符
\r 匹配一个回车符
\t 匹配一个制表符
\v 匹配一个重直制表符
* 出现零次或多次
+ 至少出现一次,可出现多次
? 懒惰匹配,例如: 匹配字符串"titanic" 贪婪匹配:正则:/t[a-z]*i/ ,返回["titani"];懒惰匹配:/t[a-z]*?i/,返回["ti"]
{} 数量说明符指定匹配模式的上下限,在花括号之间放两个数字,这两个数字代表匹配模式的上限和下限。
只想指定匹配模式的下限而不需要指定上限,在第一个数字后面跟一个逗号即可。
要指定一定数量的匹配模式,只需在大括号之间放置一个数字。
() 使用捕获组搜寻重复的子字符串。括号 ( 和 ) 可以用来匹配重复的子字符串。你只需要把重复匹配模式的正则表达式放在括号中即可。
例如:
在正则表达式reRegex中使用捕获组,以匹配在字符串中仅重复三次的数字,每一个都由空格分隔。
let repeatNum = "42 42 42";
let reRegex = /^(\d+)\s\1\s\1$/;
let result = reRegex.test(repeatNum);
.test() --- 在字符串中查找符合正则的内容,若查找到返回true,反之返回false.
用法:正则.test(字符串)
.match() ---- 在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null。
用法:字符串.match(正则)
.search() --- 在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不只是一个字母,那只会返回第一个字母的位置),如果搜索失败就返回-1
用法:字符串.search(正则)
.repleace() ---- 查找符合正则的字符串,就替换成对应的字符串,返回替换后的内容。
用法:字符串.replace(正则,新的字符串/回调函数)(在回调函数中,第一个参数指的是每次匹配成功的字符)
.exec() ---- 和match方法一样,搜索符合规则的内容,并返回内容,格式为数组。
用法:正则.exec(字符串);