正则表达式

认识正则表达式 - Regular Expression

目的: 验证字符串是否符合规则

是一个 复杂数据类型

正则表达式的创建

  • 字面量方式创建

    => 语法: var reg = /abcd/

  • 内置构造函数创建

    => 语法: var reg = new RegExp(‘abcd’)

// 1. 字面量方式创建
    const r1 = /abcd/
    console.log(r1)

    // 2. 内置构造函数创建
    const r2 = new RegExp('abcd')
    console.log(r2)
  1. 两种创建方式的区别

正则表达式的常用方法

  1. 匹配

    • 目的: 检测对还是不对

    • 语法: 正则表达式 . test(字符串)

    • 返回值: 一个布尔值

      => 如果字符串满足正则表达式规则, 那么返回 true

      => 如果字符串不满足正则表达式规则, 那么返回 false

  2. 捕获

    目的: 从原始字符串中截取出符合正则表达式规则的部分字符串片段

 // 1. 匹配
    // 正则: 验证字符串中是否包含完整的 'abcd' 字符串片段
    const reg = /abcd/
    const res = reg.test('hfgasjhfgab cdsjhdagfjhk')
    console.log(res)

正则表达式的组成

  1. 文本内容

  2. 元字符

    => 在正则表达式内用一个符号来表示一类内容

     元字符
            1. \d     表示 一位 数字
            2. \D     表示 一位 非数字
            3. \s     表示 一位 空白内容(空格, 缩进)
            4. \S     表示 一位 非空白内容
            5. \w     表示 一位 数字字母下划线任意内容
            6. \W     表示 一位 非数字字母下划线的任意内容
            7. .      表示 一位 非换行的任意内容
            8. \      表示 转义符
    
    
        // 1. \d
        // 表示字符串中必须包含一位数字(0-9)
        const reg = /\d/
        console.log(reg.test('sduygfkasgdfh'))
        console.log(reg.test('sduygfkasgdfh1'))
        console.log(reg.test('4sduygfkasgdfh'))
        console.log(reg.test('sduygfk6asgdfh'))
    
     // 2. \D
        // 表示字符串中必须包含一位非数字内容
        // const reg = /\D/
        console.log(reg.test('1234567890'))
        console.log(reg.test('123456789 0'))
        console.log(reg.test('1234.567890'))
        console.log(reg.test('1234中文567890'))
    
    	 // 3. \s
        // 表示字符串中必须包含一位空白内容
        const reg = /\s/
        console.log(reg.test('sdukyf gyukasdgfv564567 4764765^&%$^&%$^&'))
    
    // 4. \S
        // 表示字符串中必须包含一位非空白内容
        // const reg = /\S/
        console.log(reg.test('                     1                             '))
    
     // 5. \w
        // 表示字符串中必须包含一位 数字(0-9) 或者 字母(a-zA-Z) 或者 下划线(_) 任意一个都行
        // const reg = /\w/
        console.log(reg.test('!@#$%^&*()'))
        console.log(reg.test('!@#$%^&*(f)'))
        console.log(reg.test('!@#$%3^&*()'))
        console.log(reg.test('!_@#$%^&*()'))
    
    // 6. \W
        const reg = /\W/
        console.log(reg.test('1234567^890_sdfghjkSDFGHJK'))
    
    // 7. .
        // 表示字符串中必须有换行以外的内容
        // const reg = /./
        console.log(reg.test('\n\na\n'))
    
    // 8. \
        // 使用转义符把
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值