hive正则表达式反向引用
反向引用
捕獲會返回一個捕獲組,這個分組是保存在內存中的,不僅可以在正則表達式外部通過程序進行引用,也可以在正則表達式內部進行引用,這種引用方式就是反向引用。
根據捕獲組的命名規則,反向引用可分為:
1.數字編號組反向引用:\k或\number
2.命名編號組反向引用:\k或\‘name’
捕獲組是匹配子表達式的內容按序號或者命名保存起來以便使用,主要是用來查找一些重復的內容或者替換指定字符。
Java捕獲組
捕獲組是把多個字符當一個單獨單元進行處理的方法,它通過對括號內的字符分組來創建。
例如,正則表達式 (dog) 創建了單一分組,組里包含"d",“o”,和"g"。
捕獲組是通過從左至右計算其開括號來編號。例如,在表達式((A)(B (C))),有四個這樣的組:
((A)(B ( C )))
(A)
(B (C ))
( C )
可以通過調用 matcher 對象的 groupCount 方法來查看表達式有多少個分組。groupCount 方法返回一個 int 值,表示matcher對象當前有多個捕獲組。
還有一個特殊的組(group(0)),它總是代表整個表達式。該組不包括在 groupCount 的返回值中。
注意:
1.反向引用數字用\\1
2.regexp_replace是全部替換
3.regexp_extract函數index=0,如果不提供則index默認為1,同時提取是第一配對的字段串
regexp_extract函數源碼
總結
以上是生活随笔為你收集整理的hive正则表达式反向引用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Markdown 入门及语法详细指南 ★
- 下一篇: gdb 调试 RISC-V