zoukankan      html  css  js  c++  java
  • JavaScript连载24-正则表达式

    一、正则表达式

    1.基本概念(简略)

    • 三大作用:匹配,提取,替换
    • 正则表达式的组成:普通字符和元字符
    • 元字符
    元字符描述
    d 匹配一个数字字符,等价于[0-9]
    D 匹配一个非数字字符,等价于[^0-9]
    w 匹配一个包括下划线在内的任意单词字符,等价于[A-Za-z0-9]
    W 匹配任何非单词字符,等价于[^A-Za-z0-9]
    s 匹配任何空白字符,包括空格、制表符、换页符等,等价于[f v]
    S 匹配任何非空白字符,等价于[^f v]
    . 匹配除了" "之外的任何字符,要匹配包括" "在内的任何字符,请使用(.
    ^ 匹配输入字符串的开始位置,如果设置了RegExp对象的Multiline属性,^也匹配 或者 之后的位置。
    $ 匹配输入字符串的结束位置,如果设置了RegExp对象的Multiline属性,^也匹配 或者 之前的位置。
    • 限定符
    限定符描述
    * 匹配前面的子表达式>=0次
    + 匹配前面的子表达式>=1次
    ? 匹配前面的子表达式0次或者1次
    {n} n是一个非负整数,匹配前面的子表达式n次
    {n,} n是一个非负整数,匹配前面的子表达式至少n次
    {n,m} n是一个非负整数,匹配前面的子表达式至少n次,最多m次
    • 其他
    其他描述
    [xyz] 字符集合,匹配包含的任意一个字符。
    [^xyz] 负值字符集合,匹配未包含的任意字符。
    [a-z] 能匹配的字符范围
    [^a-z] 负值字符范围,匹配任何不在指定范围的任意字符。

    2.两种正则表达式方法

        //第二个参数,i执行对大小写不敏感,g执行全局匹配(查找所有匹配值而非在找到第一个匹配后停止),m执行多行匹配
        var reg = new RegExp('^ab[a-z]','i');
        var str = 'ABC';
        console.log(reg.test(str));//匹配成功就会返回true
    
        //字面量
        var reg2 = /ab[a-z]/i;//还有这种正则表达式
        var str2 = "ABshdu";
        console.log(reg2.test(str2));

    运行结果
    24.1

    3.正则表达式相关的方法

    (1)RegExp对象

    • test() 匹配
    • exec() 提取一个内容

    (2)针对String对象

    • replace()替换
    • split() 切割
    • search() 搜索

    二、源码:

      • D24_1_RegularExpression.html
      • 地址:https://github.com/ruigege66/JavaScript/blob/master/ D24_1_RegularExpression.html
      • 博客园:https://www.cnblogs.com/ruigege0000/
      • CSDN:https://blog.csdn.net/weixin_44630050?t=1
      • 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流,后台回复“礼包”获取Java大数据学习视频礼包
        20.4
  • 相关阅读:
    去除 .sh 文件的
    Shell Notepad++导致报错:#!/bin/bash: 坏的解释器: 没有那个文件或目录
    linux 不同格式的软件包的安装
    linux:jenkins 默认安装目录
    使用nsis制作的安装包安装后,无法卸载干净的问题
    bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录
    jenkins启动/重启/停止命令 改端口
    解决windows系统80端口被占用问题
    find ./ -name *.bak | xargs rm -rf
    Linux查看端口占用情况,释放占用的端口
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13296806.html
Copyright © 2011-2022 走看看