修饰符
符号 | 含义 |
---|---|
g | 表示全局 |
i | 忽略大小写 |
量词
符号 | 含义 |
---|---|
+ | 匹配1次或1次以上 |
* | 匹配0次或以上 |
? | 匹配0次或1次 |
{n} | 匹配n次 |
{n,} | 至少匹配n次,无上限 |
{n,m} | 最少匹配n次,最多匹配m次 |
转义符
符号 | 含义 |
---|---|
\d | 表示0-9,同[0-9] |
\D | 非数字 |
\w | 表示数字字母下划线,同[0-9a-zA-Z_] |
\W | 非数字字母下划线 |
\ | 将在正则中有含义的符号当成字符验证 |
\b | 匹配一个单词边界 |
\B | 匹配不是单词开头或结束的位置 |
\s | 匹配空格 |
\S | S匹配任意不是空白字符的字符 |
特别字符
符号 | 含义 |
---|---|
| | 或 |
[] | 中元符,表示一位 |
^ | 单独使用表示从字符的开头开始验证 |
$| | 单独使用表示验证字符的结尾 |
. | 表示匹配所有,相当于css中的* |
[^] | 非,相当于js中的! |
[^0-9a-zA-Z] | 特殊字符 |
正则的方法
str.search()
search()方法,用于检索指定字符串的子字符串,并返回字符串的起始位置;
const str = 'Visit W3School!'
cosnt n = str.search("W3School")
console.log(n) = 6
str.replace()
str.replace(reg.newstr);将符合正则的字符替换。返回替换后的字符串;
cosnt str = "Visit Microsoft!";
const res = str.replace("Microsoft", "W3School");
console.log(res)= Visit W3School
str.match(reg)
在字符串中挑出符合条件的子串,返回成一个数组。
const str = 'test srt.match'
const res = str.match(/t/g)
console.log(res) = ['t', 't', 't', 't']
reg.test()
reg.test(str);验证字符是否符合正则的规则,返回布尔值
test的特性,局部匹配就是true,后面不符合也会是true;
const patt = /e/;
patt.test("The best things in life are free!");
返回true
reg.exec()
reg.exec()方法用于检索字符串中的正则表达式的匹配。返回一个数组存放匹配到的结果,没有匹配则返回null;
const reg = /\d+/
const res = reg.exec('3432ddf53')
console.log(res) = ['3432']