正则规则_元字符_量词详解
1、元字符——表示一些特定的字符
. 查找单个字符,除了换行\n
\w 查找单词字符。
\W 查找非单词字符。
\d 查找数字。
\D 查找非数字字符。
\s 查找空白字符。
\S 查找非空白字符。
\b 匹配单词边界。
\B 匹配非单词边界。
\0 查找 NUL 字符。
\n 查找换行符。
\f 查找换页符。
\r 查找回车符。
\t 查找制表符。
\v 查找垂直制表符。
\xxx 查找以八进制数 xxx 规定的字符。
\xdd 查找以十六进制数 dd 规定的字符。
\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。
\u4e00-u9fa5 匹配所有汉字
let reg = /^a.b$/;
console.log(re1.test('a1b'));
console.log(re1.test('a\tb'));
console.log(re1.test('a\nb'));
2、量词——表示指定字符串出现的次数
+ 至少出现一次 (>=1)
* 出现0次或者多次 (0|n)
? 出现0次或1次 (0|1)
{11} 表示必须连续出11次
{1,} 表示至少出现一次,可以连续出现无限次
{2,11} 表示至少出现2次,至多出现11次
3、()——组匹配
var str="hell"
console.log(/h(e)(l)(l)/.test(str));
console.log(RegExp.$1);
console.log(RegExp.$2);
console.log(RegExp.$3);
console.log(RegExp.$4);
4、[]——区间匹配
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。也称为脱字符。
let reg = /^[abc]+$/;
console.log(reg.test('a'))
console.log(reg.test('b'))
console.log(reg.test('c'))
console.log(reg.test('ab'))
console.log(reg.test('bc'))
console.log(reg.test('abc'))
console.log("代表本身含义---------------------------------");
let reg = /^[(10)]+$/;
console.log(reg.test('(10)'))
console.log(reg.test('(10'))
console.log(reg.test('('))
console.log(reg.test('1a2'))
let reg = /^[20]$/;
console.log(reg.test('2'))
console.log(reg.test('0'))
console.log(reg.test('20'))
console.log("取非---------------------------------");
var reg = /[^0-9]/;
console.log(reg.test('2'))
console.log(reg.test('a'))
console.log(reg.test('S'))
console.log(reg.test('Ss'))
console.log(reg.test('wwA'))
console.log("取非---------------------------------");
5、|——选择匹配
var stre = 'abcdef';
console.log(stre.match(/ab|cd/g));
console.log(stre.match(/[a(b|c)d]/g));
console.log("选择匹配-----------------");
var reg = /^ab|cd$/
console.log(reg.test('ab'));
console.log(reg.test('cd'));
console.log(reg.test('abd'));
console.log(reg.test('acd'));
let reg1 = /^(ab|cd)$/
console.log(reg1.test('ab'));
console.log(reg1.test('cd'));
console.log(reg1.test('abd'));
console.log(reg1.test('acd'));
console.log(reg1.test('abcd'));
console.log(reg1.test('bcd'));
console.log(reg1.test('ab123'));
let reg2 = /^\d$|^\s$/
console.log(reg2.test(' '));
console.log(reg2.test('1'));
console.log(reg2.test('2 0'));
console.log(reg2.test(' 30'));
console.log("选择匹配-----------------");
var str1 = '<meta charset="UTF-8">';
var reg = /\'|\<|\"|\>/g;
var rect = str1.replace(reg, function (params) {
return "@#" + params.charCodeAt() + ";"
})
console.log(rect);
console.log("过滤---------------------------------");
6、^ $——脱字符
let re1 = /^\d/;
console.log(re1.test('abcdefg'));
console.log(re1.test('1234567'));
console.log(re1.test('0abcdef'));
let re1 = /\d$/;
console.log(re1.test('abcdefg'));
console.log(re1.test('1234567'));
console.log(re1.test('0abcdef'));
let re1 = /\d+/;
let re1 = /^\d$+/;
let reg = /^1\d{10}$/
————————————————