zoukankan      html  css  js  c++  java
  • SAS学习笔记66 SAS正则表达式

    在SAS里,正则表达函数以PRX(Perl Regular Expression)开头

    PRXMATCH()

    这个函数的作用是:看regular-expression在string中的位置

    "/SA/"这个双引号是SAS的语法,但里面的内容是标准的Perl正则表达式,那个斜杠 / 是默认的Perl分隔符。我们可以在两个斜杠//之间放置一些元字符(metacharacter),来简化一些很复杂的表达

    metacharacter(元字符)

    metacharacter用来简化表达某种意思,比如在word中我们都知道t代表的是制表符,那么在SAS正则表达式中也类似有:

    ^ 代表一段话的开头,

    $ 代表一段话的结束,

    s 代表的是一个空格(space),

    i 代表不区分大小写,

    d 匹配任何某1个以上数位

    ……

    他们就是metacharacter

    Metacharacter Description Examples
    * 将其前字符进行0个或多个匹配

    cat* 匹配“cat”,“cats”

    c(at)* 匹配"c", "cat", "catatat"

    + 将其前字符进行1个或多个匹配 d+ 匹配一个或多个数字
    ? 将其前字符进行0个或1个匹配 hello? 匹配"hell","hello"
    . 只匹配一个字符。匹配除" "之外的任何单个字符。如果想匹配任意字符[. ] r.n 匹配"ron","run","ran"
    d 匹配一个数字字符。[0-9] ddd 匹配任何三位数字
    D 匹配一个非数字字符。[^0-9] DD 匹配"xx", "ab",%%"
    ^ 匹配输入字符串的开始位置 ^cat 匹配"cat","cats"但不匹配"the cat"
    $ 匹配输入字符串的结束位置 cat$ 匹配"the cat"但不匹配"cat in the hat"
    [a-z] 表示a-z任意一个字符  
    [0-9] 表示0-9任意一个数字  
    [0-9a-zA-Z] 表示0-9 a-z A-Z任意一个字符  
    [abcd] 表示a 或b 或c 或d  
    [1234] 表示1 或2 或3 或4  
    [^a-z] 表示匹配除了a-z之外的任意一个字符  
    w 匹配包括下划线的任何单词字符。[0-9a-zA-Z_]  
    W 匹配任何非单词字符。[^w]  
    s 匹配任何空白字符  
    S 匹配任何非空白字符  
     匹配一个单词边界  
    B 匹配非单词边界  
    {n} 匹配前面的子表达式n次  
    {n,} 匹配前面的子表达式n次或更多次  
    {n,m} 匹配前面的子表达式n次或更多次,但不超过m  
    x|y 匹配x或y c(a|o)t 匹配"cat","cot"

    用于匹配某些特殊字符

    需要转义的字符有:

    (

    )

    [

    ]

    {

    }

    .

    /

    *

    +

    ?

    ^

    $

    ddd) 匹配"123)"

    1 与前面的捕获缓冲区匹配,称为回引用 (dDd)1 匹配“9a99a9”而不是“9a97b7”
     
    (.)1匹配任意两个重复的字符
  • 相关阅读:
    java处理图片压缩、裁剪
    List按对象元素自定义排序
    List和数组汉字简单排序(转)
    欢迎访问我的个人博客,部分文章迁移
    Java资源免费分享,每日一更新,找到你心仪的吧
    今年的校招,Java好拿offer吗?
    【拥抱大厂系列】几个面试官常问的垃圾回收器,下次面试就拿这篇文章怼回去!
    2019,我的这一年,在校研究生做到年入20W,另送我的读者2000元现金红包
    深入理解Java虚拟机-如何利用VisualVM对高并发项目进行性能分析
    深入理解Java虚拟机-常用vm参数分析
  • 原文地址:https://www.cnblogs.com/abble/p/12204945.html
Copyright © 2011-2022 走看看