zoukankan      html  css  js  c++  java
  • 常用正则表达式字符说明

    元字符

    . . 除换行符的任意字符 DOTALL
    转义字符
    […] 字符集合
    d 数字:[0-9]
    D 非数字[^0-9]
    s 空白字符[<空格> f ]
    S 非空白字符[^s]
    w 单词字符[A-Za-z0-9_]
    W 非单词字符[^w]

    数量词

    * 匹配前一个字符0或者多次
    + 匹配前一个字符1次或者多次
    ? 匹配前一个字符0次或者1次
    {m} 匹配前一个字符m次
    {m,n} 匹配前一个字符m至n次
    数量词? 变成非贪婪模式

    边界

    ^ 匹配字符串开头,多行匹配每一行开头
    $ 匹配字符串末尾,多行匹配每一行末尾
    A 仅匹配字符串开头
     仅匹配字符串末尾
     匹配w 和 W 之间


    逻辑、分组

    | 左右表达式任意匹配一个
    先匹配左边一旦成功则跳过匹配右边
    如果|没有包含在()中,匹配整个正则表达式

    (…) 分组匹配,从左到右,每遇到一个 ( 编号+1
    分组后面可加数量词

    (?P<name>…) 除了分组序号外,指定一个 name的别名
    <number> 引用编号为<number>的分组匹配到的字符串
    (?P=name) 引用别名为<name>的分组匹配到的串


    特殊构造

    (?:…) (…)不分组版本,用于使用 | 或者后接数量词
    (?iLmsux) iLmsux的每个字符代表一个匹配模式,只能用在正
    则表达式的开头,可选多个

    (?#...) #号后的内容将作为注释
    (?=…) 之后的字符串内容需要匹配表达式才能成功匹配
    (?!...) 之后的字符串不匹配表达式才能成功
    (?<=…) 之前的字符串需要匹配表达式才能成功
    (?<!...) 之前的字符串需要不匹配表达式才能成功

    (?(id/name) yes |no) 如果编号为id/名字为name的组匹配到字符串,则需
    要匹配yes,否则匹配no,no可以省略

    iLmsux

    I re.I 忽略大小写
    L re.L 使用预定字符类 w W  B s S 取决当前区域设定
    m re.M 多行模式改变^ 和 $ 的行为
    s re.S .任意匹配模式
    u re.U 使用预定字符类 w W  B s S d D 取决unicode定义的字
    符属性
    x re.X 详细模式,可以多行,忽略空白字符,并且可以加入注释

    ------山的那一边
  • 相关阅读:
    WMS学习笔记:1.尝试加载WMS
    ftp文件上传和下载
    [WorldWind学习]19.WebDownload
    ASP.NET C# 如何在程序中控制IIS服务或应用程序池重启?
    asp.net mvc 全局权限过滤器及继成权限方法
    使用ActionFilterAttribute 记录 WebApi Action 请求和返回结果记录
    单点登录系统功能调试界面
    asp.net 读取RedisSessionStateProvider配置
    Redis-benchmark测试Redis性能
    ASP.NET MVC中移除冗余Response Header
  • 原文地址:https://www.cnblogs.com/mountain2011/p/6618931.html
Copyright © 2011-2022 走看看