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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值