日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hive正则表达式反向引用

發布時間:2024/3/12 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 select 'ccabab' rlike "(\\w)(\\w)\\1\\2" 2 select 'abac' regexp '(\\w)(\\w)\\1\\2' 3 selectregexp_replace('ababcccdcd','(\\w)(\\w)\\1\\2','') 4 select regexp_extract('ababcccdcd','(\\w)(\\w)\\1\\2',0)

注意:
1.反向引用數字用\\1
2.regexp_replace是全部替換
3.regexp_extract函數index=0,如果不提供則index默認為1,同時提取是第一配對的字段串
regexp_extract函數源碼

總結

以上是生活随笔為你收集整理的hive正则表达式反向引用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。