正则表达式中的字符类

文章详细介绍了正则表达式中字符类的使用,包括[]表示的字符集合,-定义的范围,^表示的取反,.匹配除换行符外的任何字符,以及d,D,w,W,s和S的特殊含义和用法。通过代码示例展示了如何进行匹配测试。
摘要由CSDN通过智能技术生成

        字符类:


                1.[] 表示匹配字符集合 [字符集合] 表示在字符集合中都可以通过
                    语法: /^[字符集合]$/ 表示字符集合中任选一个
                2.- 在[] 中使用 - 连字符 表示一个范围
                    例如:[a-z] 表示 a-z中的字符都可以
                3.^ []中加上^ 表示取反 ^为取反符号
                    语法:/^[^字符集合]$/  表示除了字符集合中的其他字符都可以
                4."." 表示表示除了换行符,任何单个字符都可以
                    语法:/^.$/
                5.\d 等同于[0-9] 匹配任意数字
                    语法: /^\d$/
                6.\D 等同于[^0-9] 匹配除了0-9的任意字符
                    语法: /^\D$/
                7.\w 等同于[0-9a-zA-Z_] 匹配0-9a-zA-Z_中的任意字符
                    语法: /^\w$/
                8.\W 等同于[^0-9a-zA-Z_] 除了0-9a-zA-Z_中的任意字符都可以
                    语法: /^\W$/
                9.\s 匹配任何unicode空白符  " " (空格符)、\r (回车符)、\n (换行符)、\t (制表符) 和 \f (换页符)。
                    \s 等同于[\f\n\t\r ] 匹配任何unicode空白符 空格 制表符 换行符 回车符
                    注意: 注意[\f\n\t\r ]里面必须有空格
                    语法: /^\s$/
                10. \S 匹配除了unicode空白符任意其他字符 
                    \S 等同于[^\f\n\t\r ] 匹配除了unicode空白符 空格 制表符 换行符 回车符的其他字符
                    语法: /^\S$/
            注意: [\s\S] 可以表示所有字符

代码模块展示:

    <script>
        // [] 表示匹配字符集合
        // abc 中任选一个
        console.log(/^[abc]$/.test('a')) // true
        console.log(/^[abc]$/.test('b')) // true
        console.log(/^[abc]$/.test('c')) // true
        console.log(/^[abc]$/.test('ab')) // false
        // abc 中任选两个
        console.log(/^[abc]{2}$/.test('ab')) // true

        // 字符类 [a-z] 表示a-z中的小写字母都可以
        // [] 里面加上 - 连字符 表示一个范围
        // a-z中任选一个
        console.log(/^[a-z]$/.test('a')) // true
        console.log(/^[abc]$/.test('c')) // true
        console.log(/^[abc]$/.test('d')) // true
        // a-z中任选三个
        console.log(/^[abc]{3}$/.test('d')) // false
        console.log(/^[abc]{3}$/.test('abc')) // true
        console.log(/^[abc]{3}$/.test('dfdf')) // false

        // [] 中加上^ 表示取反 ^为取反符号
        // 表示出来abc 其他字符都可以通过
        // 注意:^ 要写在中括号里面
        console.log(/^[^abc]$/.test('t'))  // true
        console.log(/^[^abc]$/.test('a'))  // false

        // "." 表示除了换行符,任何单个字符都可以
        console.log(/^.$/.test('q'))  // true

        // \d 等同于[0-9] 匹配任意数字
        console.log(/^\d$/.test('1')) // true
        console.log(/^\d$/.test('5')) // true
        console.log(/^\d$/.test('a')) //false

        // \D 等同于[^0-9] 匹配除了0-9的任意字符
        console.log(/^\D$/.test('1')) // false
        console.log(/^\D$/.test('2')) // false
        console.log(/^\D$/.test('w')) // true
        console.log(/^\D$/.test('t')) // true

        // \w 等同于[0-9a-zA-Z_] 匹配0-9a-zA-Z_中的任意字符
        console.log(/^\w$/.test('\n')) // false
        console.log(/^\w$/.test('_')) // true
        console.log(/^\w$/.test('1')) // true
        console.log(/^\w$/.test('a')) // true

        // \W 等同于[^0-9a-zA-Z_] 除了0-9a-zA-Z_中的任意字符都可以
        console.log(/^\W$/.test('\n')) // true
        console.log(/^\W$/.test('_')) // false
        console.log(/^\W$/.test('1')) // false
        console.log(/^\W$/.test('a')) // false

        // \s 匹配任何unicode空白符  " " (空格符)、\r (回车符)、\n (换行符)、\t (制表符) 和 \f (换页符)。
        // \s 等同于[\f\n\t\r ] 匹配任何unicode空白符 空格 制表符 换行符 回车符
        // 注意[\f\n\t\r ]里面必须有空格
        console.log(/^\s$/.test('\n')) // true
        console.log(/^\s$/.test('\f')) // true
        console.log(/^\s$/.test(' ')) // true
        console.log(/^\s$/.test('\r')) // true
        console.log(/^\s$/.test('\t')) // true
        // 其他的用\s都是false

        // \S 匹配除了unicode空白符任意其他字符 
        // \S 等同于[^\f\n\t\r ] 匹配除了unicode空白符 空格 制表符 换行符 回车符的其他字符
        console.log(/^\S$/.test('\n')) // false
        console.log(/^\S$/.test('\f')) // false
        console.log(/^\S$/.test(' ')) // false
        console.log(/^\S$/.test('\r')) // false
        console.log(/^\S$/.test('\t')) // false
        console.log(/^\S$/.test('a')) // true
        // 其他的用\S都是true

        // 测试
        // 写空格时
        console.log(/^[\n\f\r\t ]$/.test(" ")) //true
        // 没写空格时
        console.log(/^[\n\f\r\t]$/.test(" ")) //false


        let str = 'bughaio123nihoa123yyy'
        let arr = str.split('123')
        console.log(arr)

        // 正则表达式搭配split()方法转换字符串
        let str1 = 'bndsfahh123kghfj345gfg'
        let arr1 = str1.split(/\d{3}/)
        console.log(arr1)
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值