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

JavaScript正则表达式

Samaritan Web前端工程师
难度中级
时长 1小时30分
学习人数
综合评分9.70
346人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.6 逻辑清晰
  •    正则表达式方法:

    •  RegExp.prototype.test(str)

      用于测试字符串参数中是否存在匹配正则表达式模式的字符串

    •  RegExp.prototype.exec(str)

       使用正则表达式模式对字符串执行搜索,并更新全局RegExp对象的属性以反应匹配结果

      如果没有匹配的文本则返回null,否则返回一个结果数组

    查看全部
    0 采集 收起 来源:test 和 exec方法

    2021-03-03

  • 对象属性:

    • global:是否全文搜索,默认false

    • ignore case:是否大小写敏感,默认false

    • multiline:多行搜索,默认值false

    • lastIndex:是当前表达式匹配内容的最后一个字符的下一个位置

    • source:正则表达式的文本字符串

    查看全部
    0 采集 收起 来源: JS对象属性

    2021-03-03

  • 前瞻:

    • 正则表达式从文本头部向尾部开始解析,文本尾部方向,称为“前”

    • 前瞻就是正则表达式匹配到规则的时候,向前检查是否符合断言,后顾方向相反

    • JavaScript不支持后顾

    • 符合和不符合特定断言称为肯定/正向匹配和否定/负向匹配

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

    2021-03-03

  • .

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

    2021-03-03

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

    2021-03-03

  • 正则表达式分组:用()可以达到分组的功能,使量词作用于分组

    • 单词重复了三遍:  (Byron){3}

    • 'a1b2c3d4'.replace(/([a-z]\d){3}/g,'X')

    • 使用   |   可以达到或的效果

    反向引用:


    '2015-12-25'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1')

    "12/25/2015"

    用小括号2括起,后面用美元符来进行代替

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

    2021-03-03

    • 正则表达式在匹配的时候会尽可能多的匹配:贪婪模式     '123456789'.replace(/\d{3,6}/g,'X')

    • 让正则表达式尽可能少的匹配,也就是说一旦匹配不再继续尝试:非贪婪模式

    做法:在量词后加上问号?

          '123456789'.replace(/\d{3,6}?/g,'X')

    查看全部
  • 量词:

    我们希望匹配一个出现20次数字的字符串---\d\d\d\d\\d\d\d\\d\d\d\d\d\d\d\d\d\d\d\d\d

    • 等价于\d{20}

    ? 出现零次或一次(最多出现一次)

    +  出现一次或多次(至少出现一次)

    *  出现零次或多次(任意次)

    {n} 出现n次

    {n,m} 出现n到m次

    {n,} 至少出现n次


     \d{20}\w\d?\w+\d*\d{3}\w{3,5}\d{3}

    查看全部
    0 采集 收起 来源:量词

    2021-03-03

  • 预定义类:正则表达式提供预定义类来匹配常见的字符类



    查看全部
  • 范围类:[0123456789]

    • 变为[0-9]

    • 包含0和9本身,表示的是从0到9的任意一个字符

    • 在[ ]组成的类内部可以连写[a-zA-Z]


    查看全部
    0 采集 收起 来源:范围类

    2021-03-03

  • 单斜杠"/"JavaScript语言中正则表达式的标志,也就是说只有前后加了"/",JavaScript引擎才会确认斜杠中间的内容是一个正则表达式,并执行相应语句。这就好像写了"//",JavaScript引擎才知道后面是注释,不用执行。

    字符类:我们可以用元字符[]来构建一个简单的类

    • 所谓类是指符合某些特征的对象,一个泛指,而不是特质某个字符

    • 表达式[abc]把字符a或b或c归为一类,表达式可以匹配这样的字符

    字符类取反

    • 使用元字符^ 创建 反向类或负向类

    • 反向类的意思是不属于某类的内容

    • 表达式[^abc]表示不是字符a或b或c的内容

    查看全部
    0 采集 收起 来源:字符类

    2021-03-03

  • 正则表达式由两种基本字符类型组成
    1.原义文本字符:代表它原来含义的字符 例如:abc、123
    2.元字符:在正则表达式中有特殊意义的非字母字符 例如:\b表示匹配单词边界,而非\b
    在正则表达式中具体特殊含义的字符:* + ? $ ^ . \ () {} []
    元字符:

    \t:水平制表符

    \v:垂直制表符

    \n:换行符

    \r:回车符

    \0:空字符

    \f:换页符

    \cX:与X对应的控制字符(Ctrl+X)

    查看全部
    0 采集 收起 来源:元字符

    2021-03-03

  • http://regexper.com

    两个//之间

    修饰符:g 全局  i 忽略大小写 m多行搜索

    元字符:有特殊含义的字符()

    []或者;^取反;   

    范围类-(可以连写[a-zA-Z])

    预定义类:.任意字符[^\r\n]

    边界单词:\b单词边界   ^以X开始  $以X结束

    量词:连续出现n次:  ?0次或1次,+一次或多次,*0次或多次,{n}n次,{n,m}n到m次{n,}至少n次 

    贪婪模式(默认):尽可能多,非贪婪模式:量词后加?:{2,6}?

     分组:()

    或:| 默认把这个表达式分开,局部或用分组即可(  |  )

    反向引用:分组() 结合 $n

    例: '2015-12-25'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2-$3-$1')   --> 12-25-2015

    忽略分组(不捕获):分组内加 ?:  例:(?:   )

    d 数字

    \b单词边界

    {}量词 ()分组[]或者

    ^开头 $结尾

     $2  取匹配结果的第N组

    查看全部
  • 正则表达式source属性:代表正则表达式的文本字符串

    查看全部
    0 采集 收起 来源: JS对象属性

    2020-10-09

  • lastIndex :是当前表达式匹配内容的最后一个字符的下一个位置

    查看全部
    0 采集 收起 来源: JS对象属性

    2020-10-09

举报

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

微信扫码,参与3人拼团

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

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