zoukankan      html  css  js  c++  java
  • 正则表达式 RegExp 对象

    正则表达式 RegExp 对象

    • 概念:通过特定符号组成表达式,并通过该表达式匹配字符串。
    • 好处:方便搜索、匹配字符串。
    • 缺陷:匹配、搜索速度不高。(复杂的表达式,解析效率不高)
    • 主要用于搜索、验证、匹配(或特殊环境使用)
    • 写法:/ /

    [ ]

    方括号:括号里的内容任取其一

    表达式:

    • abc查找方括号之间的任何字符。
    • ^abc 查找任何不在方括号之间的字符。
    • [0-9] 查找任何从 0 至 9 的数字。
    • [a-z] 查找任何从小写 a 到小写 z 的字符。
    • [A-Z] 查找任何从大写 A 到大写 Z 的字符。
    • (red|blue|green) 查找任何指定的选项。

    匹配次数:

    • * 星号,匹配 0-n 次
    • + 加号,匹配 1-n 次
    • ? 问号,匹配 0-1 次
    • { } 花括号,指定匹配次数; {0,6}或{,6}——0~6次;{6,}——至少6次;{6}——只能6次

      let pattern=/c[abcd]t/;
      let str='cat';
      console.log(pattern.test(str));  // true;   test关键字,方法

    完整匹配:/^...$/ ^:以^开头; $:以$结尾。

    let pattern=/^c[abcd]+t$/;
    let str='cat';
    console.log(pattern.test(str));  // true;   

    修饰符

    • i : 对大小写不敏感
    • // let pattern=/^c[abcd]+t$/i;
    • g : 全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

    元字符

    有特殊含义的字符

    • . 一个点,查找单个字符,除了换行和行结束符。

    • w查找单词字符(数字、字母、下划线)

    • W 查找非单词字符

    • d 查找数字。0-9

    • D 查找非数字字符

    • s 查找空白字符(空格、换行...)

    • S 查找非空白字符

    •  匹配单词边界

    • B 匹配非单词边界

    •  查找换行符

    正则方法

    • exec:检索字符串中指定的值。返回找到的值,并确定其位置。

      let pattern=/love/g;
      let str="I love Js,I love Js,I love Js";
      console.log(pattern.test(str)); //找到第一个love
      patt.lastIndex=0; // 重置上一次输出结果
      console.log(pattern.test(str));  //加上g,找到第二个love;不加上g,还是第一个love

      lastIndex:RegExp 对象属性;一个整数,标示开始下一次匹配的字符位置。

    支持正则表达式的String对象的方法

    • split:把字符串分割为字符串数组。

      let patt=/love/g;
      let str="I love Js,I love Js,I love Js";
      console.log(str.split('')); 
      console.log(str.split(/s+)); 
    • search:检索与正则表达式相匹配的值。忽略g标记,只返回第一次匹配的值。

      let pattern=/love/g;
      let str="I love Js,I love Js,I love Js";
      console.log(str.search(patt)); 
    • match:找到一个或多个正则表达式的匹配。没有g,输出第一次匹配的值;加上g,所有匹配的值

      let pattern=/love/g;
      let str="I love Js,I love Js,I love Js";
      console.log(str.match(patt)); 
    • replace替换与正则表达式匹配的子串。加上g,全部换掉。

      let pattern=/love/g;
      let str="I love Js,I love Js,I love Js";
      console.log(str.replace(patt,'')); 

      正则表达式:多用于做验证、匹配、搜索;熟悉各种符号表达的含义,正则方法的使用;修饰符i/g使用后的变化

  • 相关阅读:
    微信小程序非域名测试环境,手机预览不正常,模拟器和真机调试正常解决办法
    vue 建项目及初步开发遇到的问题
    开发&测试
    架构&项目
    运维
    读书&源码
    ArrayList
    jdk集合知识点整理
    jdk集合关系图
    jvm知识点整理
  • 原文地址:https://www.cnblogs.com/llying/p/7528940.html
Copyright © 2011-2022 走看看