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'
    
  • 相关阅读:
    笔记04_正确使用Heterogeneous元件
    java网络通信:伪异步I/O编程(PIO)
    java网络通信:异步非阻塞I/O (NIO)
    lua源码学习篇二:语法分析
    lua源码学习篇三:赋值表达式解析的流程
    java网络通信:netty
    lua源码学习篇一:环境部署
    lua源码学习篇四:字节码指令
    java网络通信:同步阻塞式I/O模型(BIO)
    前端项目开发流程
  • 原文地址:https://www.cnblogs.com/liea/p/12508678.html
Copyright © 2011-2022 走看看