• 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)"。

  • 相关阅读:
    HR人才测评,提高员工和岗位的适配度
    nrf52832 PWM配置
    前端骨架屏应用
    第一章 软考架构师之计算机系统组成与体系结构
    gStore最新版本1.0之自定义图分析算子
    Rules1:模板类型推导
    【死磕NIO】— 跨进程文件锁:FileLock
    网络安全——SQL报错注入
    莫兰指数-计算步骤、数据&事件研究Stata代码
    数据治理要点
  • 原文地址:https://blog.csdn.net/u011412768/article/details/127867172