正则表达式的元字符
概念
元字符:所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。
一、元字符内容
- \s匹配任何空白字符,包括空格、制表符、换页符等等。
- \S匹配任何非空白字符。
- \t匹配一个制表符。
- \d匹配一个数字字符。
- \D匹配一个非数字字符。
- \w匹配字母、数字、下划线。
- \W匹配非字母、数字、下划线。
- 点(.)表示非换行的任意字符
- 斜线(\)表示转义字符,把没有意义的内容转成有意义的内容,把有意义的内容转成没有意义的内容
二、如何使用
1.\s表示一个空格 只要有空格就是true不管空格在什么位置
const reg1 = /\s/;
console.log(reg1.test('abcd')); //false
console.log(reg1.test('abcd ')); //true
console.log(reg1.test('ab cd')); //true
console.log(reg1.test(' ab cd')); //true
2. \S匹配任何非空白字符。 如果内部只有空格或者tab键或者没有任何内容都是false以外,其他都为true。
const reg2 = /\S/;
console.log(reg2.test(' ')); //''内是一个空格 false
console.log(reg2.test('1234 ')); //true
console.log(reg2.test(' ')); //''内是两个tab键 false
console.log(reg2.test(' a a b c ')); //true
console.log(reg2.test('')); //false
3.\t表示一个制表符,一个制表符就是制表符,不是多个空格;只要有tab键和'\t'都为true
const reg3 = /\t/;
console.log(reg3.test('\t')); //true
console.log(reg3.test('a ')); //tab键 true
console.log(reg3.test(' ')); //空格键 false
console.log(reg3.test(' 123@_')); //true
4.\d表示一个数字 只要有数字就为true
const reg4 = /\d/;
console.log(reg4.test('123456')); //true
console.log(reg4.test('123@456')); //true
console.log(reg4.test('tttt')); //false
console.log(reg4.test(' ')); //tab键 false
5.\D表示一个非数字 只有纯数字时为false,其余的都为true
const reg5 = /\D/;
console.log(reg5.test('t456tt ttt')) //true
console.log(reg5.test('tttt6tt ')) //true
console.log(reg5.test('6666')) //false
6.\w表示一个数字,字母,下划线 只要有三个的其中一个就为true
const reg6 = /\w/;
console.log(reg6.test('15632')); //true
console.log(reg6.test('2 _y')); //true
console.log(reg6.test('@@@@2')); //true
console.log(reg6.test('@@_@@')); //true
console.log(reg6.test('@@a@@_')); //true
console.log(reg6.test('$$$$')); //false
7.\W表示数字,字母,下划线以外的字符 只要有三者其中一个就为false
const reg7 = /\W/;
console.log(reg7.test('15632')); //false
console.log(reg7.test(' ')); //空格 true
console.log(reg7.test('@@@@')); //true
console.log(reg7.test('123__aa')); //false
console.log(reg7.test('@@a@@_')); //true
8.点(.)表示非换行的任意字符
const reg8 = /./;
console.log(reg8.test('\n')); //false
console.log(reg8.test(' ')); //true
9.斜线(\)表示转义字符,把没有意义的内容转成有意义的内容,把有意义的内容转成没有意义的内容。
// s表示你的字符串中需要有一个s
const aaa = /o/;
console.log(aaa.test('gggggggo')); //true
console.log(aaa.test('ggggggg')); //false
//表示你的字符串中需要有一个空格字符
const bbb = /\s/;
console.log(bbb.test('hhh hhh'));//true
console.log(bbb.test('hhhhhh')); //false
//表示你的字符串里面有一个 点 文本内容
const reg9 = /\./;
console.log(reg9.test('absn.fj'));//true
console.log(reg9.test('absnfj')); //false
//表示你的字符串中需要有一个\\内容
const reg10 = /\\/;
console.log(reg10.test('677688\\99'));//true
console.log(reg10.test('67768899')); //false