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

    1.什么是正则表达式
      ①文件路径通配符
        "?"匹配单个字符,"*"匹配零个或多个字符。
      ②正则表达式
        符合某种规则的表达式
      ③元字符与子匹配
        元字符
        子匹配
          括号所括起来的表达式部分为一个子匹配(子表达式)

    2.RegExp对象
      ①创建
        1)显示构造器:var regExp = new RegExp("pattern"[,"flags"]);
        2)隐式构造器:/pattern/[flags]

        flags标志字符:
          g:用作全局标志()
          i:用作忽略大小写
          m:用作多行标志
           
        注意事项:
          当使用显示构造器的时候,人生感悟应将原始的正则表达式模式中的每个""都使用"\"来替换
          var re = new RegExp("\d{5}");
          var re = /d{5}/;
      ②RegExp对象的属性:
          1)静态属性:
            index:匹配开始的位置,默认-1
     input:返回当前所作用的字符串
     lastIndex:匹配字符的下一个位置,默认-1
            lastMatch:最后一个匹配的字符串
     lastParen:子匹配的最后一个,匹配到的字符串
     leftContext:最后匹配的字符串的左边的内容
     rightContext:最后匹配的字符串的右边的内容
            $1...$9 子匹配匹配的内容

          2)实例属性:
            global:全局标志
     ignoreCase:忽略大小写
     multiline:多行标志,
            source:返回模式文本
        ③方法
           test(str):检查一个字符串是否满足正则表达式,返回TRUE或false,并更新静态属性
           exec(str):检查一个字符串是否满足正则表达式,返回搜索数组或null,并更新静态属性
             返回数组还有三个属性index,input,lastIndex
           compile("pattern"[,"flags"]):更换RegExp对象实例所使用的正则表达式

           说明:如果为正则表达式设置了全局标志(g),可以多次调用exec和test方法在字符串中执行连续搜索,
           每次都是从RegExp对象的lastIndex属性指定的位置开始搜索字符串。如果没有设置全局标志(g),则exec和
           test方法忽略RegExp对象的lastIndex属性值,从字符串的起始位置开始搜索。

        ④String对象与正则表达式有关的方法
           match(RegExp):与exec方法类似,返回一个包含搜索结果的数组。
           search(RegExp):返回第一个匹配的字符串的位置
           replace(RegExp,replaceText):替换满足匹配的字符串并返回替换后的字符串
           split([separator[,limit]]):返回拆分数组。
        ⑤正则表达式语法
           元字符:
             1).限定符:用于指定其前面的字符或组合项连续出现多少次
        n+ 匹配任何包含至少一个 n 的字符串。 
               n* 匹配任何包含零个或多个 n 的字符串。 
        n? 匹配任何包含零个或一个 n 的字符串。 
        n{X} 匹配包含 X 个 n 的序列的字符串。 
        n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串。 
        n{X,} 匹配包含至少 X 个 n 的序列的字符串。 
        n$ 匹配任何结尾为 n 的字符串。 
        ^n 匹配任何开头为 n 的字符串。 
        ?=n 匹配任何其后紧接指定字符串 n 的字符串。 
        ?!n 匹配任何其后没有紧接指定字符串 n 的字符串。 
             2).选择匹配符(|)
      3).分组组合符:淘宝开店将正则表达式中的某一部分内容组合起来的符号。
      4).反向引用符:用于匹配前面的分组组合所捕获的内容的标识符号。
         (pattern):子匹配,缓冲,用反向引用符调用
         um:num表示分组组合的序号
         (?:pattern):子匹配,但是不会存储在缓冲区中,不能用反向引用符调用
             5).特殊字符
         .  查找单个字符,除了换行和行结束符。 
         w 查找单词字符。 
         W 查找非单词字符。 
         d 查找数字。 
         D 查找非数字字符。 
         s 查找空白字符。 
         S 查找非空白字符。 
          查找位于单词的开头或结尾的匹配。 
         B 查找不处在单词的开头或结尾的匹配。 
         查找 NUL 字符。 
         查找换行符。 
         f 查找换页符。 
         查找回车符。 
         查找制表符。 
         v 查找垂直制表符。 
         xxx 查找以八进制数 xxx 规定的字符。 
         xdd 查找以十六进制数 dd 规定的字符。 
         uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。 
             6).字符匹配符
         [abc] 查找方括号之间的任何字符。 
         [^abc] 查找任何不在方括号之间的字符。 
         [0-9] 查找任何从 0 至 9 的数字。 
         [a-z] 查找任何从小写 a 到小写 z 的字符。 
         [A-Z] 查找任何从大写 A 到大写 Z 的字符。 
         [A-z] 查找任何从大写 A 到小写 z 的字符。 
         [adgk] 查找给定集合内的任何字符。 
         [^adgk] 查找给定集合外的任何字符。 
         (red|blue|green) 查找任何指定的选项。

  • 相关阅读:
    如何在Android Studio中添加注释模板信息?
    Android Activity标签属性
    Android Activity全面解析
    Mac office ppt无法正常输入文字的问题解决方案
    将Android Studio默认布局ConstraintLayout切换成LinearLayout
    Java中Double保留后小数位的几种方法
    java文件传输接口
    纯JS编写打地鼠游戏
    JavaScript监听手机物理返回键的两种解决方法
    spring注解方式实现定时器
  • 原文地址:https://www.cnblogs.com/tiankong102/p/4232315.html
Copyright © 2011-2022 走看看