• JavaScript 中的 RegExp 对象


    JavaScript 中的 RegExp 对象

    RegExp 对象的创建

    JS中的 RegExp 是正则表达式对象。

    语法:

    new RegExp(正则表达式的内容,匹配模式/修饰符)

    修饰符:

    i 执行对大小写不敏感的匹配。
    g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
    m 执行多行匹配

    使用构造函数创建正则表达式

    let reg = new RegExp('hello', 'gim')
    // 打印 /hello/gim
    
    • 其中第一个参数 'hello' 是表达式的内容,第二个参数是修饰符,定义正则表达式的匹配模式
    • 根据打印可以看到,使用RegExp 构造函数new 出来的表达式会自动加上表达式前后的 / /, 因此在第一参数中只需要填写正则的主体内容即可。 第一个参数中可以填入任意表达式内容或者变量等拼接字符串。

    如果正则表达式不包含变量可以不用构造函数,直接创建

    let reg = /hello/g
    

    给正则添加变量:

    let str = 'abc'
    let reg = new RegExp(str, 'g')
    // 打印 /abc/gim
    

    使用模版字符串给正则添加变量:

    let reg = new RegExp( `${str}`, 'gim')
    // 打印 /abc/gim
    

    如果字符串中有 字符 需要多加一个 转义

    let reg = new RegExp( `${str}\d`, 'gim')
    打印 /abcd/gim
    

    使用拼接字符串给正则添加变量:

    let reg = new RegExp( str + '\d', 'gim')
    // 打印 /abcd/gim
    

    EegExp对象的方法

    exec()

    找到正则匹配的内容,并返回其位置。如果没有则返回null

    let reg = new RegExp('c')
    let res = reg.exec('abcd')
    console.log('打印', res)
    // 打印 [ 'c', index: 2, input: 'abcd', groups: undefined ]
    

    test()

    检测是否包含正则匹配的内容,返回 true 或 false

    let res = /hello/g.test('hello word')
    console.log('打印', res)
    // 打印 true
    

    toString

    将正则表达式转为字符串

    let res = /hello/g.toString()
    console.log('打印', res)
    // 打印 '/hello/g'
    
  • 相关阅读:
    hello world
    first demo
    Mac出现Operation not permitted
    java 获取一个数字中,各个数字出现的次数
    java 判断回文数字
    202001031
    20200103
    华为手机的系列
    java 反向打印一个数字
    java 生成两个数之间的素数
  • 原文地址:https://www.cnblogs.com/liea/p/12508678.html
Copyright © 2020-2023  润新知