HTML 正则表达式

6 篇文章 0 订阅
5 篇文章 0 订阅

正则表达式概述

  1. 表达式概念
    1. 一种字符串检索模式;
    2. 表现为字符串形式的object对象;
    3. 可进行文本搜索和替换。在前端页面中一般用于表单验证;
    4. 语法:正则字面量表达方式:/正则表达式主体/修饰符(可选);
      var reg = /abc/i;
    5. 实际开发中正则表达式会配合字符串的search和replace方法来使用;

      1. search():用于检索与正则表达式相匹配的子字符串,并返回字符串的起始位置;

      2. match():用于在原字符串中匹配第一个指定字符串的信息,例如(["b", index: 8, input: "loadfsdfbfasdfa"]),如果没有则返回null

        1. 有g修饰符时,正则返回所有满足条件的字符串的集合;

      3. replace:不修改原有字符串;

  2. 修饰符
    1. 常见的修饰符有三种:i、g、m;
      1. i:忽略大小写;
      2. g:全局;
      3. m:换行匹配,对正则中的^$产生影响;
    2. 检索模式([]表示包含其中一个的值,{}代表一个词组,):
      1. 表达式模式:[abc]、[0-9]、[m|n],每个内容都代表一类值,而不是字面的意思;
        1. [abc]:包含a或者b或者c,[a][b][c]:包含abc;
        2. [0-9]:在指定字符串中检索,查找任何满足【0-9之间】规则的字符或者字符串,该模式对字母也适用,注意结束位置要大于开始位置;
        3. (m|n):任何满足以“|”分割的选项之一,注意要用小括号括起来;
      2. 元字符模式(具有特殊含义的字符称为元字符);
        1. \d:数字,等同于[0-9];
        2. \s:表示空格;
        3. \b:表示边界\0,或以空格和换行隔开的;
      3. 量词模式(检索的字符或字符串出现的次数,仅对前面的一个字符有作用);
        1. n+:一个或者多个;
        2. n*:包含0个或者多个n(对空格也会起作用,贪婪模式);
        3. n?:要么0次,要么1次;
        4. .:表示任意字符;
  3. RegExp对象:
    var reg = new RegExp(正则表达式的内容,修饰符);//参数均采用字符串的形式;
    

     

    1. 两个参数均为字符串类型;
    2. 提供的方法;
      1. test():本方法判断是否有满足正则条件的字符串,有就返回true,没有就返回false;
      2. exec():查找原字符第一个满足正则条件的下标和内容,查找失败则返回null,当RefExp是全局模式(g)时,当 exec() 找到了与表达式相匹配的文本时,在匹配后,它将把 RegExpObject 的 lastIndex 属性设置为匹配文本的最后一个字符的下一个位置。也就是说,我们可以通过反复调用 exec() 方法来遍历字符串中的所有匹配文本。当 exec() 再也找不到匹配的文本时,它将返回 null,并把 lastIndex 属性重置为 0;
        var str = 'loaB11aadbfsdfbfabsdbfa';
        var reg = new RegExp('ab','gi')
        var res = reg.exec(str)
        console.log(reg,str.match(reg))///ab/gi ["aB", "ab"]
        console.log(reg.test(str))//true
        console.log(res)//["aB", index: 2, input: "loaB11aadbfsdfbfabsdbfa"]
        res = reg.exec(str)
        console.log(res)//["ab", index: 16, input: "loaB11aadbfsdfbfabsdbfa"]

         

  4. 初末尾字符:
    1. ^:初位字符
    2. $:末尾字符
  5. 重复类:
    1. 用{}来匹配字符连续出现的次数;
    2. {n}恰好n次,{n,}至少出现n次,{n,m}至少n次,至多m次;
  6. 贪婪模式和懒惰模式
    1. 贪婪模式(少用):只要符合正则要求的就一直往下匹配(n*);
    2. 懒惰模式:一旦匹配到符合正则要求的内容,就立刻立刻结束的行为模式(n?);
  7. 脱字符
    1. 仅当出现在中括号首位时,^可以表示“不是”的意思 ;
  8. 12个常用的js正则表达式
    1. 补充中……
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值