javaScript之正则表达式(基础)

javaScript之正则表达式

( 转载腾讯课堂里面老师的笔记 )

  1. 什么是正则表达式

    一个用来搜索、匹配一系列符合特定语法规则的字符串的处理工具(字符搜索模式)。

    正则是一个强大的字符串处理工具用途:

    1,进行特定字符或字符串的搜索

    2,替换掉字符串中的指定字符或字符串

    3,验证字符串是否是符合需求

  2. 前置练习题
    var str ='qw123j143llfa789dg498lfds'
    

    请将以上字符串中的数字全部提取出来并存入数组,要求相连的数字保存为一个值,最终的数组结果应为

    ['123','43','789','498']
    
  3. 书写规则
    • 字面量写法:

      let reg = /abc/;
      

      优点:简洁方便 缺点:不支持变量

    • 构造函数写法:

      let reg = new RegExp('abc');
      

      优点:支持变量 缺点:需要注意字符转移规则

  4. 元字符
    .匹配除了换行和特殊空白符之外的字符
    \w匹配数字,字母,下划线
    \d匹配数字
    \s匹配空白字符
    \W匹配除数字,字母,下划线之外的字符
    \D匹配数字之外的字符
    \S匹配空白字符之外的字符
    \b匹配单词边界
    \B匹配非单词边界
    \n匹配换行符
    \r匹配回车符
    \t匹配制表符
  5. 量词
    +至少匹配一次,最多不限
    匹配0到1次
    *****至少匹配0次,最多不限
    {n}匹配n次
    {n, }至少匹配n次,最多不限
    {n,m}最少匹配n次,最多匹配m次
  6. 范围匹配(字符组)

    范围匹配用于匹配在指定范围内的一个特定字符

    [asdf]匹配asdf这四个字符中的任意一个字符
    [0-9]匹配从0到9之间的任意一个数字
    [a-z]匹配从小写字母a到小写字母z之间的任意一个字母
    [A-Z]匹配从大写字母A到大写字母Z之间的任意一个字母
    [A-z]匹配从大写字母A到小写字母z之间的任意一个字母
    [\u4e00-\u9fa5]匹配所有的中文汉字(常用汉字
  7. 分组

    分组是正则中很常用也很重要的一个概念

    1,使用()对正则表达式进行分组,每个()为一个子组

    2,每个子组都是一个子正则表达式

    3,通过分组,可以改变量词的影响范围

    [a-z]\d+//[a-z]\d+/ 结果完全不同

  8. 位置限制
    ^匹配在字符串开始位置的字符串
    $匹配字符串在结束位置的字符串
  9. 修饰符
    i匹配吋忽略大小写
    m进行多行匹配(需要配合开始位置^与结束位置$使用
    g全局匹配(匹配所有符合的结果,而不是只匹配一次)
  10. 范围排除(字符组)

    范围排除用于排除在指定范围内的一个特定字符(即不匹配这个字符)

    [^asdf]匹配不在asdf这四个字符中的任意一个字符
    [^0-9]匹配数字之外的任意一个数字
    [^a-z]匹配所有小写字母之外的任意一个字母
    [^A-Z]匹配所有大写字母之外的任意一个字母
    [^A-z]匹配所有小写和大写字母之外的任意一个字母

    注意只有当**^[]**的开始位置时才表示排除,如果在其它位置,它只是一个普通的字符

  11. 多选匹配
    red|blue|green
    

    匹配字符串red,或者blue,或者green

  12. 正则方法
    1. test()

      test()方法用验证字符串是否符合正则规则

    2. exec()

      exec()方法匹配字符串中符合正则规则的字符串和该字符串所出现的位置。

  13. 支持正则的字符串方法
    1. search()

    2. match()

    3. replace()

    4. split()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值