• SAS_正则表达式 字符意义


    正则表达式必知必会
    正则表达式用处:搜索与替换
    简单的开始:
    1.匹配单个字符:
    .匹配任何一个字符(除去换行符)
    加上一个特殊字符:如\,d,w,
    2.匹配一组字符:
    []不匹配任何字符,自用来定义一个字符集合;如[ab]:必须匹配a或b,可用来处理大小写问题[Aa],当然也可以用i(SAS里面的);[0-9]匹配0到9的数字,[A-Z]匹配A到Z的英文字母;[A-Za-z0-9]表示A-Z和a-z和0-9;[^0-9]表示不匹配0-9的任意数字;若要匹配[]本身,需要反斜杠[ ]
    注:-连字符是特殊的元字符,但只能用在[]之间,在[]之外只能与-匹配,因此-不需要特殊匹配。
    3.使用元字符:
    元字符不用做元字符时,必须转意,如[、 \
    元字符分为两种:(1)匹配文本比如.(2)匹配正则表达式的语法要求的如:[]
    匹配空白字符: :换行符; 回车符; 制表符[Tab键];在Window操作系统中需要 来匹配两条记录中的空白行,在linuxUnix中是 即可
    匹配数字:任何一个数字字符相当于[0-9];D任何一个非数字字符相当于[^0-9]
    w任何一个字母数字字符或者下划线相当于[A-Za-z0-9_];W任何一个非字母数字字符或者下划线相当于[^A-Za-z0-9_]
    匹配空白字符:s任何一个空白;S任何一个非空白字符
    匹配十六进制:
    匹配八进制:开头
    4.重复匹配
    +匹配一个或多个字符
    *匹配零个或多个字符
    ?匹配零个或一个字符
    {}匹配的重复次数 如d{0,3}:0,1,2或3个数字;d{3,}至少重复3次及以上的数字字符
    注:* +都是贪婪型字符,匹配的结果是多多益善而不是适可而止,尽可能从文本的开头匹配到结尾,有时将多个匹配结果当成一个
    但*? +? {n,}?是懒惰性表示方法,写法简单,找到一个匹配的即停止(这里容易误解,见P49页)
    5.位置匹配
    单词边界:如:the cat scatterted....,匹配cat:cat,这里的是匹配这样一个位置,位于一个能用来构成单词的字符和一个不能用来构成单词的字符;
    D不匹配单词的边界
    ^匹配字符串的开头位置

    7.子表达式
    ()是元字符,将子表达式括起来
    简化重复表达:(d{1,3}.){3}
    避免误解:19|20d{2} 与(19|20)d{2}意义是不同的;因为|将左右两边当成完整的两部分
    子表达式的嵌套
    8.回溯引用:前后一致匹配
    回溯连续匹配:
    如:this is is a cat;
    匹配:[ ]+(w+)[]+1
    这里的1是模式里的第一个表达式,2表示模式里面的第二个表达式,上述将匹配同一个单词连续两次重复出现;
    注:回溯引用只能引用模式里面的子表达式,用()括起来的;

  • 相关阅读:
    WebService相关
    远程连接db2数据库
    修改VNC分辨率大小
    java面向对象的核心思想
    小故障排查
    使用IntelliJ IDEA开发java web
    WebService概述
    Qt开发之信号槽机制
    用SoapUI 测试Web Service
    剑指offer:滑动窗口的最大值
  • 原文地址:https://www.cnblogs.com/Anni-love-Ferris-wheel/p/7414295.html
Copyright © 2020-2023  润新知