为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript正则表达式

Samaritan Web前端工程师
难度中级
时长 1小时30分
学习人数
综合评分9.70
346人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.6 逻辑清晰
  • \w 匹配任意来自基本拉丁字母表中的字母数字字符,还包括下划线。等价于 [A-Za-z0-9_]。 例如,/\w/ 匹配 "apple" 中的 'a',"$5.28" 中的 '5' 和 "3D" 中的 '3'。 \W 匹配任意不是基本拉丁字母表中单词(字母数字下划线)字符的字符。等价于 [^A-Za-z0-9_]。 例如,/\W/ 或 /[^A-Za-z0-9_]/ 匹配 "50%" 中的 '%'。
    查看全部
    2 采集 收起 来源:范围类

    2018-03-22

  • 分组内加"?:"就可以忽略该分组了
    查看全部
    2 采集 收起 来源:分组

    2018-03-22

  • 范围类 正则表达式提供了范围类 可以使用[a-z]来连接两个字符类表示从a到z的任意字符 这是一个闭区间,也就是包含a和z; 可以进行连写:[a-zA-Z] 同时范围内包含字符"-":如[0-9-] :"2012-08-08".replace(/[0-9-]/,'');
    查看全部
    2 采集 收起 来源:范围类

    2018-03-22

  • 字符类 一般情况下正则表达式一个字符对应字符串一个字符 表达式 ab\t 的含义是: 一个字母a一个字母b加一个水平制表符 可以使用元字符[]来构建一个简单的类,所谓类是指符合某些特征的对象,一个泛指,而不是特指某个字符 表达式[abc]:把字符 a 或 b 或 c 归为一类,表达式可以匹配这类的字符,即匹配abc中的一个 'a1b2c3d4'.replace(/[abc]/g,'字符'); "字符1字符2字符3d4" 字符类取反 使用元字符 ^ 创建 反向类/负向类,反向类的意思是:不属于某类的内容 表达式 [^abc] 表示 不是字符a或b或c 的内容 'a1b2c3d4'.replace(/[^abc]/g,'字符'); "a字符b字符c字符字符字符"
    查看全部
    2 采集 收起 来源:字符类

    2018-03-22

  • lid
    ? 出现<=1次 + 出现>=1次 * 出现任意次 {n}出现n次 {n,m}出现n到m次 {n,}出现至少n次
    查看全部
    2 采集 收起 来源:量词

    2018-03-22

  • 前瞻 正则表达式从文本头部向尾部开始解析,文本尾部方向,成为“前” 前瞻 就是在正则表达式匹配到规则的时候,向前检查是否符合断言。比如找到儿子为张三,还得看看他的父亲是否是李四 后顾/后瞻方向相反 注意:JavaScript不支持后顾 符合特定断言称为 肯定/正向 匹配 不符合特定断言称为 否定/负向 匹配 正向前瞻 exp(?=assert) 先判断是否符合正则,再符合正则的基础上判断是否符合断言 负向前瞻 exp(?!asseret) 例如: \w(?=\d) 正向前瞻 符合断言 匹配单词字符,要求首先是一个单词,并且这个单词符合断言,后跟一个数字 'a2*3'.replace(/\w(?=\d)/g,'A') "A2*3" 'a2*3bb'.replace(/\w(?=\d)/g,'A') "A2*3bb"
    查看全部
    2 采集 收起 来源:前瞻

    2018-03-22

  • 分组 匹配字符串 Byron 连续出现 3 此的场景 1. 使用()可以达到分组的功能,使量词作用于分组 (Byron){3} 例子:小写字母连续出现3次 'a1b2c3d4'.replace(/[a-z]\d{3}/g,'Q'); "a1b2c3d4" 'a1b2c3d4'.replace(/([a-z]\d){3}/g,'Q'); "Qd4" 2. 或 使用 将正则表达式分成前后两部分,可以达到 或 的效果 isIS ByronCasper Byr(onCa)sper 例子: 'ByronCasper'.replace(/ByronCasper/g,'Q'); "QQ" 'ByrCasperByronsper'.replace(/Byr(onCa)sper/g,'Q'); "QQ" 3.反向引用 2015-12-25 => 12/25/2015 在分组的基础上,分组取值使用'$1 $2....'代表捕获分组内容 实现: '2015-09-09'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1'); "09/09/2015" 4. 忽略分组 不希望捕获某些分组,只需要在分组内加上 ?:即可 (?:Byron).(ok) '2015-07-09'.replace(/(?:\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1'); "09/$3/07"
    查看全部
    2 采集 收起 来源:分组

    2018-03-22

  • 范围类 使用字符类匹配数字 [0123456789] 简写[0-9] 可以使用 [a-z] 来连接两个字符表示 从a到z的任意字符,闭区间,包含a和z本身 如: 'a1b2c3zx4z9'.replace(/[a-z]/g,'Q'); "Q1Q2Q3QQ4Q9" 在[]组成的类内部是可以连写的 [a-zA-Z] 如: 'a1b2c3zx4z9ADG'.replace(/[a-zA-Z]/g,'Q'); "Q1Q2Q3QQ4Q9QQQ" 注意: 当-在两个字符之间,表示范围,想匹配-,直接在后面加-即可 '2016-08-08'.replace(/[0-9-]/g,'Q'); "QQQQQQQQQQ"
    查看全部
    2 采集 收起 来源:范围类

    2018-03-22

  • 很不错,喜欢
    查看全部
    2 采集 收起 来源:RegExp对象

    2016-08-17

  • 分组 '2012-02-23'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1') "02/23/2012" 忽略分组之后(针对年份忽略分组): '2012-02-23'.replace(/(?:\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1') "23/$3/02" 注意点:年份忽略分组之后,月份分组为$1,日为$2
    查看全部
    2 采集 收起 来源:分组

    2018-03-22

  • RegExp对象

        JavaScript通过内置对象RegExp支持正则表达式

        有以下两种方法实例化RegExp对象:

        方法                            例子语法

        1.字面量        var reg = /\bis\b  /g     (定义变量)

        2.构造函数     var reg=new RegExp( '\\bis\\b' ,  'g' )    (用new操作符来调用构造函数,构造函数接收两个参数,第一个是字符串,里边是正则表达式的文本;(有两个\的原因:\是特殊字符,如果要使用的话需要转译)第二个也是字符串)

    修饰符

    • g    global全文搜索,不添加的话,搜索到第一个匹配的对象后就会停止搜索https://img1.sycdn.imooc.com//5c06d0540001177106610261.jpg

    • i     ignore case忽略大小写,没有i标志是默认大小写敏感的

      https://img1.sycdn.imooc.com//5c06d0cc0001a2ac05210169.jpg

    • m     multiple line 多行搜索

    查看全部
    1 采集 收起 来源:RegExp对象

    2018-12-05

  • Nuh

    前瞻

    ①?=这部分用括号,称断言,表示符合,正向(肯定)前瞻但这部分不匹配

    ②?!表示不符合。反向(否定)前瞻。

    js不支持任何后顾。


    查看全部
    1 采集 收起 来源:前瞻

    2018-10-05

  • Nuh

    ?到目前为止有三种作用

    ①单纯的作为量词,代表零次以上。

    ②作为非贪婪模式的关键词,放在量词的大括号最前方,代表使用非贪婪模式。

    ③与冒号配合使用,写在分组大括号最前方,会分组,但不会被捕获。

    $的作用有两种

    ①以最邻近的为结尾

    ②捕获分组使用

    ^的作用有两种

    ①以最邻近的为开头

    ②取反,在范围方括号里。

    查看全部
    1 采集 收起 来源:分组

    2018-10-05

  • $1:提取分组内容,即第一个括号里的内容;

    ? 表示0个或一个 

    + 表示一个或更多

     * 表示任一个

     . 表示任意字符


    查看全部
  • 正则表达式:

                      ^表示开始;

                      $表示结束;

    ^\d{4}[/-]\d{2}[/-]\d{2}$

    表示以四位数字开头的年份 /或者- 2位数的月份 /或者- 2位数的日期 的格式。

    查看全部

举报

0/150
提交
取消
课程须知
1、对JavaScript 语法了解。 2、熟练使用文本编辑器。
老师告诉你能学到什么?
1、正则表达式基本语法 2、正则表达式分类梳理 3、好用的正则表达式图形化理解工具 4、正则表达式在JavaScript中的应用 5、常见文本批处理办法

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!