• hive正则匹配总结


    1、常用字符匹配

    字符

    含义

    ^

    行首

    $

    行尾

    .

    任意字符

    *

    匹配零次或多次

    +

    匹配1次或多次

    ?

    匹配零次或1次

    ?

    匹配修饰符,当该字符紧跟在任何一个其他限制符 (* ,+, ?, {n}, {n,}, {n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串, 而默认的贪婪模式则尽可能多的匹配所搜索的字符串。

    A|B

    A或B

    (abc)*

    匹配abc序列零次或多次

    {n}或{m,n}

    匹配的次数

    [ab]

    匹配括号中的任一字符,例中模式匹配a或b

    [a-d]

    匹配a,b,c,d任一字符

    [^ab]

    ^表示非,匹配任一非a非b的字符

    [::]

    见下表POSIX字符组

    \

    转义符

    \n

    n为数字1-9,后向引用

    \d

    数字

    \D

    非数字

    2、常用的匹配功能

    (1)单个字符

    (A|B)或者[AB]:匹配包含A字符或者B字符的字符串

    (A|B)*或者[AB]*:匹配包含A字符或者B字符的字符串,匹配0次或多次

    [^ab]:^表示非,匹配任一非a非b的字符

    (2)字符串匹配

    (ABC):匹配包含字符串ABC的字符串

    (ABC|DEF):匹配包含字符串ABC或者DEF的字符串

    注:字符串的匹配不可以用[ABC|DEF]这种,这种匹配的是各个单字符。

    (3)前项后项限定

    (?<=[a-z])(ABC):匹配前面是a-z字符的字符串ABC,例如:zABC,但是只会处理ABC字符串

    (ABC)(?=[a-z]):匹配后面是a-z字符的字符串ABC,例如:ABCz,但是只会处理ABC字符串

    (?<=[a-z])(ABC)(?=[a-z]):匹配后面是a-z字符后面也是a-z字符的字符串ABC,例如:aABCz,但是只会处理ABC字符串

    注:前项后项限定里,限定的字符不会做处理,只处理其他的匹配部分

    (4)嵌套使用

    ([\\((].*[a-z]+.*[\\))]):匹配括号中包括英文字符的括号及括号内内容,例如:"(测试abc)"。

  • 相关阅读:
    Linux报错:OSError: [Errno 28] No space left on device
    如何用vue+免费的webdb 实现一个世界杯足球竞猜系统
    linux下安装MongoDB集群和集群分片
    Angular-05:管道
    电脑为什么会蓝屏的原因
    任务调度xxljob的使用记录
    adb 命令扩展
    Bash基本功能—输入输出重定向
    第五章:Python中的集合(上)
    如何查看网络下发的能力中是否支持ims
  • 原文地址:https://blog.csdn.net/u011412768/article/details/127867172