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

    创建表达式的两种方式
    var pattern1 = /[bc]at/i;
    var pattern2 = new RegExp(“\?”);          ( var pattern2 = new RegExp(“[bc]at”, “i”);)
    注意第二种方式要加上  双\  , 因为如果 ? 的话解析的时候会尝试按照 那样处理
     
    正则表达式对象的方法:
    var text = “cat, bat, sat, fat”;
    var pattern1 = /.at/;
     
    1 、pattern1.exec(text);
    2 、pattern.test(text)
     
    支持使用正则表达式的string方法:
    3 、text.match(pattern)
    4 、text.search(pattern)
    5 、text.replace(pattern,”libinQQ”)
    6 、text.split(pattern)
     
    简单的模式
    g--匹配全部,global模式,当匹配到一个字符后不会停下来,还是继续匹配
     i--不区分大小写, case-insensitive 模式
    m--multiline 模式,当匹配到一行的结尾时,会继续匹配下一行
    如果需要匹配   ( [ { ^ $ | ) ] } ? * + .   需要转义
     
    举栗子:
    var x = /[abc]at/     匹配[ ]中的任意一个开头,at结尾
    /[^ab]at/               ^ 非的意思,匹配不是a或b 开头,at结尾     的内容
    /apple[^1-4]/gi        -范围选择,匹配apple开头,不是1,2,3,4结尾的
    /[0-5][6-9]/            可用多个[], 匹配第一个数为0-5,第二个数6-9的
    [a-c1-6 ]              联合选择,匹配a到c ,1至6 和 换行
    /.at/gi                    匹配所有三个字符串,以at结尾的,无视大小写
    预先定义的缩写:
        
     
    数量控制
    例如  
     /b?rea?d/   等同于   /b{0,1}rea{0,1}d/  匹配0个或1个b开头,接着re, 接着0个或1个 a , 接着d 。可以和上面的模式混合使用   /[a]{1,2}/     a可以出现1次或2次
     
     
    greedy : 查询整个字符串看是否有匹配,没有的话掉最后一个字符,在查是否有匹配,直到匹配到或者到头了
    reluctant: 查询第一个字符看是否匹配,没有的话加上第二个看是否匹配,和greedy刚好相反
    possessive : 一次性查询整个字符串 ,有就有,没有就没有  (浏览器支持不好)
     
    复杂的模式
    grounp :                       ()  包含特定的字符组合
    backrefferences :           grounp的组合会被存储起来    RegExp.$1 或者  1 或者  $1  $2 来引用
    OR pattern:                  /badword|anotherbadword/gi   
    Non-capturing groups:     禁止backrefferences,使用?:      var reNumbers = /#(?:d+)/;      
    Lookaheads:                 匹配特定字符串当后面是某个指定的组合,使用?=      /(bed(?=room))/      (?! 相反的用法)
    Boundaries   指明位置:
     
     
    预定义的特殊字符
  • 相关阅读:
    caffe BUG
    Ubuntu安装低版本gcc
    OpenCV的CV :: findHomography运行时错误
    opencv中使用 SURF算法匹配的遇到的问题
    C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法 --转
    SIFI与surf
    opencv复习
    opencv老版本的IplImage使用
    python学习笔记-对象持久化保存与恢复
    Styles and Themes
  • 原文地址:https://www.cnblogs.com/chuangweili/p/5160971.html
Copyright © 2011-2022 走看看