zoukankan      html  css  js  c++  java
  • 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'
    
  • 相关阅读:
    vue---mixins的用法
    vue---slot,slot-scoped,以及2.6版本之后插槽的用法
    Java实现DDD中UnitOfWork
    redis基础及redis特殊场景使用描述
    网易一千零一夜 读后初感
    产品经理与众不同的思维方式与“职业病”——《人人都是产品经理》
    【Ubuntu14】Nginx+PHP5+Mysql记录
    A标签/按钮防止重复提交&页面Loading制作
    PHPCMS v9 二次开发_验证码结合Session开发
    eclipse 编码设置【转】
  • 原文地址:https://www.cnblogs.com/liea/p/12508678.html
Copyright © 2011-2022 走看看