zoukankan      html  css  js  c++  java
  • 正则RegExc

    ---恢复内容开始---

    什么是正则,正则就是一条规则,用于检验字符串的格式,目标就是字符串

    正则的定义:

      1、var reg=new  RegExp()

      2、var   reg=/格式/

    正则的方法有两个功能

      1:test()用于匹配,匹配成功就是true,失败就是false

      2:exec()用于捕获,有就拿出来

    正则修饰符:

      1、i:忽略大小写

      2、g:代表全局匹配

      3、M:代表多行匹配

       用的最多的就是1和2

    需要使用修饰符的写法:

      1、var  reg=new  RegExp("hello",g)

      2、 var   reg=/hello/gi

    跟正则有关的字符串的方法:

      1、match()查找一个或多个与正则相匹配的,有就返回查找的结果,没有就是null

      

      2、search()匹配和正则相同的字符,有就返回索引,没有就是-1

      

      3、replace()匹配与正则相同的并替换掉,返回的替换后的字符串

      

    正则的方括号:

      [abc]代表查找方括号中的任何字符

      [^abc]代表查找任何一个不在方括号之间的字符

      [0-9]查找0-9之间的数字

      [a-z]查找任何小写a到小写z的字符

      [A-Z]查找任何大写A到大写Z的字符

      [A-z]查找大写A到小写z的字符

      (red|blue|green)三者中的任意一个都行

    元字符:

      .点代表单个字符

      w代表单词字符

      W代表非单词字符

      d代表数字

      D代表非数字

      s代表空白字符

      S代表非空白字符

      代表单词边界

      B代表非单词边界

      代表数字

      B代表非数字

    量词:

       n+  代表至少1个n的字符

        n*    代表0个或多个n

        n?  包含0个或1个n

        N{x}   包含x个n

       N{x,}包含至少x个n

         N{x,y}  包含大于等于x个小于等于y个n

       N$  包含以n结尾的字符串

          ^n    包含以n开头的字符串

       ?=n     指定字符串后面紧跟的n的字符串

    正则的懒惰性

      每次在exec()中捕获的时候,只捕获第一次的内容,而不往下捕获了,这叫正则的懒惰性,每一次捕获的开始位置都是从0开始的

    如何解决正则的懒惰性呢,用修饰符g来解决,全局匹配

    正则的实例对象reg上有一个lastIndex属性,他是正则捕获的起始位置

    正则的贪婪性:

      每一次匹配都是按照最长的出结果,我们把这种功能叫正则的贪婪性

     要解决正则的贪婪性则需要在元字符量词后面加?

       

      

    ---恢复内容结束---

  • 相关阅读:
    hihoCoder #1176 : 欧拉路·一 (简单)
    228 Summary Ranges 汇总区间
    227 Basic Calculator II 基本计算器II
    226 Invert Binary Tree 翻转二叉树
    225 Implement Stack using Queues 队列实现栈
    224 Basic Calculator 基本计算器
    223 Rectangle Area 矩形面积
    222 Count Complete Tree Nodes 完全二叉树的节点个数
    221 Maximal Square 最大正方形
    220 Contains Duplicate III 存在重复 III
  • 原文地址:https://www.cnblogs.com/wkxdd/p/10210527.html
Copyright © 2011-2022 走看看