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

    var reg=/./   代表任意一个字符

    var reg=/./代表这个字符串中得有一个.

    ?的使用

      如果单独的一个字符后面带? var reg=/d?/ /n?/

      代表一个或0个这个字符的出现

       如果是量词+*{2}后面带? 取消正则的贪婪性  在捕获阶段

       

    捕获

      1.普通捕获 exec() match()

      普通捕获有懒惰性,给正则添加一个修饰符g可以解决,match是将所有捕获的内容放在一个数组中并返回。Match就是对exec的一个简单封装。

      2.分组捕获 捕获的方法还是exec match

        正则在结构上发生了变化,加()

        Var reg=/(a)(b)/

       Exec()match()在非全局下分组捕获是相同的,在捕获的过程中即捕获大正则里的内容也捕获分组中的内容并都返回。

       

      Exec()match()在全局下的分组捕获是不一样的,exec()不变。但是match()只捕获大正则里的内容

       

      分组捕获的优势  

        1.可以提升优先级

        2.可以捕获引用

        1代表分组1里面的内容  2代表分组2里面的内容

        前提是分组必须在引用之前,如果2在分组的前面代表普通的表达式???

        分组的结果存在正则类RegExp$number属性下。

        1 RegExp.$1 二者都是分组引用

        1只能使用在正则表达式里面,RegExp.$1 可以外面使用。都是在捕获完成的条件下。

      在捕获的过程中怎样取消捕获分组中的内

        在分组的前面加上?:就ok

        ?:?=的区别

        ?:取消捕获分组中的内容的

        ?=  a(?=s)

         

    replace细说

      Replace是字符串的一个方法,他有两个参数,用后者将前者替换掉,并返回一个新的字符串,但是没有改变原来的字符串.

    1. 如果第一个参数是字符串,只改变一次
    2. 如果第一个参数是正则,捕获一次改变一次
    3. 如果第二个参数是匿名函数,每捕获一次这个匿名函数会执行一次,return的是什么,那就替换成什么。这个匿名函数的arguments有三个元素。
  • 相关阅读:
    mongodb进阶三之mongodb管理
    《Javascript权威指南》学习笔记之十九--HTML5 DOM新标准---处理文档元信息和管理交互能力
    TCP/IP协议族-----21、文件传送:FTP和TFTP
    Leetcode Two Sum
    MongoDB 操作手冊CRUD 删除 remove
    VSync Count 垂直同步
    机器学习实战笔记1(机器学习基础)
    Cacti监控MySQL实现过程中碰到的问题解汇总
    【LeetCode】- Search Insert Position(查找插入的位置)
    去除百度推广的广告
  • 原文地址:https://www.cnblogs.com/qinmengyang/p/regexp1.html
Copyright © 2011-2022 走看看