web前端-JavaScript-正则表达式

    技术2022-07-10  119

    1. 正则表达式基础

      1.1 正则表达式概述

      1.2 正则表达式基本语法

    语法:/正则表达式主体/修饰符(可选)

      例如:var frk_reg = /beixi/i;    

      1.3 正则表达式常见用法

    一般在实际开发中正则表达式会配合字符串的searchreplace方法来使用。

     

    2. 正则表达式进阶

      2.1 修饰符

    常见的修饰符类型有三种:i g

    i修饰符,表示正则检索内容时不区分大小写

    g修饰符,表示正则检索内容时采用全局匹配,而不是找到第一个就停止

      2.2 检索模式

    常见的检索模式有表达式模式、元字符模式和量词模式三种。

    表达式模式

    a) [abc]在指定字符串中检索,查找任何满足【存在于方括号中】规则的字符或字符串。

      b) [0-9]

      c) (m|n)在指定字符串中检索,查找任何满足【以|分隔的选项之一】的字符或字符串。

    元字符模式

    a) \d在指定字符串中检索,查找任何【是数字】规则的字符或字符串。

      b) \s在指定字符串中检索,查找任何【是空白】规则的字符或字符串

      c) \b在指定字符串中检索,查找任何【是单词边界】规则的字符或字符串

    量词模式

    a) n+在原字符串中检索任何【包含一个或多个n】的子字符串

      b) n*在原字符串中检索任何【包含0个或多个n】的子字符串。

      c) n?在原字符串中检索任何包含0个或1个n的子字符串

      2.3 RegExp对象

           语法

               var regExp = new RegExp(正则表达式内容,修饰符);

           例如

               var regExp = new RegExp('ab','g');//【等价于正则表达式:/ab/g】

               var str = '12abc12abABC';

               var newStr = str.replace(regExp,'(frank)');

               console.log(newStr);//12(frank)c12(frank)ABC

    (1)RegExp对象的test()方法 本方法是RegExp对象中提供的一个方法,用来判断在指定字符串中】是否存在【满足正则表达式规则】的子字符串存在就返回true,反之返回false

    (2)RegExp对象的exec()方法 

    本方法是RegExp对象中提供的一个方法,用来查找在【指定字符串中】【第一个】【满足正则表达式规则】的子字符串出现的【下标和内容】。

      本方法的返回值是是一个信息集合(对象),但是可以当做数组一样使用。若查找失败,则返回结果为null

    3. 正则表达式高级

      3.1 检索模式的^$字符

          ^初位字符:表示判断字符串以某个内容开始

          $末位字符:表示判断字符串以某个内容结束

      3.2 重复类

     subStr{n}:想要检索的内容恰好出现n次

      subStr{n,}:想要检索的内容至少出现n次

      subStr{n,m}:想要检索的内容至少出现n次,至多出现m次

      3.3 贪婪模式、懒惰模式

    贪婪模式(greed):

      只要符合正则要求就一直向下匹配,直到无法再匹配为止的行为模式(例如n*)

      懒惰模式:

      一旦匹配到复合正则要求的内容就立即结束的行为模式。(例如n?)

      3.4 脱字符[^]

      脱字符是正则中^符号的一种特殊表达方式,表示【不是...】的意思。当且仅当^符号出现在中括号的首位时,我们称^符号为脱字符。

    Processed: 0.042, SQL: 9