2022-01-05

正则表达式

// [A-Z]    查找任何从大写 A 到大写 Z 的字符

        /* [a-zA-Z] 表示大小写的26个英文字母 都能匹配 */

        /* [0-9]    查找任何从 0 至 9 的数字 */

        /* /[0-9a-zA-Z]/ 表示26个大小写英文字母和数字都匹配 */

        /* [] 只要有一个符合都返回true 例如下面*/

        // let reg = /[0-9]/;

        // console.log(reg.test('abc'))

        /* [abc]    查找括号内的任意一个字符 */

        /* ^[] 表示以什么开头  */

        /* []$ 表示以什么结尾 */

        /* + 表示匹配前面字符串一次或者多次 */

        /* 可以匹配纯26个英文小写的字母  */

        // let reg = /^[a-z]+$/;

        // console.log(reg.test('abcccc'))

        /* 匹配一串字符 包括多个 英文字母 包括大小写 和数字  */

        // let reg = /^[a-zA-Z0-9]+$/;

        // console.log(reg.test('BASADasdf123123'))

/* {n,} 至少匹配n 次  /^[a-z]{2,}$/  */

        /* 以[]内任意一个字母(包括大小写)或者数字开头 */

        // {n,m}    最少匹配 n 次且最多匹配 m 次 /^[a-z]{2,3}$/

        /* {n}  匹配确定的 n 次 /^\d{2}$/ 要加限定字符,否则2次以上也为true */

//         //  匹配前面的子表达式零次或多次 /[a-z]*/ 字母出现与否都为true

//         ?    匹配前面的子表达式零次或一次/[a-z]?/字母出现0或1次都为true

// 正则有个特性只要匹配了一次都返回true,所以要加限定字符^$

/* [^abc]   查找除了括号内的任意字符 */

        /* 写在[]里面的^叫除了 */

        // let reg = /[^abc]/;

        // console.log(reg.test('dfgg'))

判断是否符合正则

/* 正则对象校验的两个方法 */

        /* test 符合返回true 不符合返回false */

        /* exec 符合返回一个数组 不符合返回null*/

        let reg = /^[a-z]+$/

        console.log( reg.exec('abc') )

元字符

\w   匹配数字、字母、下划线

\W   匹配非数字、字母、下划线

 \d   匹配数字

 \D   匹配非数字

\s   匹配空白字符(空格 、换行\n 回车\r) 空字符串''不可以

\S   匹配非空白字符 (空格 、换行\n 回车\r 空字符串'' 4个返回false

 \n   匹配换行符  这里只匹配\n 不匹配\r

正则的定义

/* i 执行对大小写不敏感的匹配 */

        // let reg = /[a-z]/i;

        // console.log( reg.test('C') );

        // let reg = new RegExp(/[a-z]/,'i');

        // console.log( reg.test('C') );

        // g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)

        let str = 'abc1a2c3b';

        console.log( str.match(/a/g) )


        /* [a-z]    查找任何从小写 a 到小写 z 的字符 */

        /* 构造函数的方式 */

        /* reg是构造函数RegExp new出来的实例化对象 */

        // let reg = new RegExp(/[a-z]/);

       /* 正则的方法 test() 可以判断你输入的字符串是否符合要求

       符合就返回true 不符合就返回false*/

        /* 用字面量的方式来表示正则 */

        // let reg = /[a-z]/;

        // console.log( reg.test('C') );

String验证正则的方式

// let str = '123abc';

        /* 返回匹配到的第一个字符串的下标,否则返回-1 */

      /*   console.log( str.search(/[a-z]/) ) */ /* ==> 3 */

    //    如果没有找到任何匹配的文本,返回 null

    //    否则,它将返回一个数组(依赖于是否具有全局标志 g)

        // let str = 'cc123ab'

        /* console.log( str.match(/[0-9]/) )  */ /*返回 ['1', index: 3, input: 'abc123qwe', groups: undefined] */

       /*  console.log( str.match(/[0-9]/g) ) */ /* ['1', '2', '3']  */

       /* 返回一个新的字符串 */

        // let str = 'abc123qwe'

        //    let newStr = str.replace('bc','oo');

        // let newStr = str.replace(/[0-9]/,'oo'); =>abcoo23qwe

        // let newStr = str.replace(/[0-9]/g,'oo'); =>abcooooooqwe

        // console.log(newStr);

        // let str = 'a1b2c3d4e5f'

        // // console.log( str.split('-') ) /* 匹配不到会把整个字符串当成数组返回 */

        // /* 以数字为分隔符来分割 => [a,b,c,d] */

        /* split的第二个参数表示 分割成几个数组的意思 */

        // console.log( str.split(/[0-9]/,5) )

你可能感兴趣的:(2022-01-05)