hive正则表达式的用法
生活随笔
收集整理的這篇文章主要介紹了
hive正则表达式的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
regexp_replace用法 1.? 截取字符串中的漢字部分: 舉個栗子:select regexp_replace('七夕節comming!來啦','([^\\u4E00-\\u9FA5]+)','') from dual; 結果:七夕節來啦
regexp_extract用法(參數3取決于參數2()的數量,從0開始) 5. 截取字符串中的數字部分([xyz] 匹配這個集合中的任何一個字符)(/d 匹配一個字數字符) 舉個栗子:select regexp_extract('七夕節coming666','([0-9]+)',1) from dual ????? or select regexp_extract('七夕節coming666','(\\d+)',1) from dual 結果:666 6.截取字符串中的字母部分 舉個栗子:select regexp_extract('七夕節Coming666','([a-zA-Z]+)',1) from dual; 結果:Coming 另注意一種方法:(\\W)匹配漢字?? (\w) 表示匹配字母、下劃線、數字 例如:select regexp_extract('產險一級機構02','(\\W*)(\\w*)',1) from dual? 結果:產險一級機構 例如:select regexp_extract('產險一級機構02','(\\W*)(\\w*)',2) from dual? 結果:02 7 {n} 精確匹配n次 舉栗子1:select regexp_extract('我愛你123zhongguo666!','(你)(.*?)(6)',0) from dual 結果:你123zhongguo6 舉栗子2:select regexp_extract('我愛你123zhongguo666!','(你)(.*?)(6)',1) from dual 結果:你 舉栗子3:select regexp_extract('我愛你123zhongguo666!','(你)(.*?)(6)',2) from dual 結果:123zhongguo 舉栗子4:select regexp_extract('我愛你123zhongguo666!','(你)(.*?)(6)',3) from dual 結果:6 舉個栗子2:select regexp_extract('152天內有67天無通話記錄','([0-9]+)([^0-9]+)([0-9]+)',0) from dual 結果:152天內有67 舉個栗子3:select regexp_extract('152天內有67天無通話記錄','([0-9]+)([^0-9]+)([0-9]+)',1) from dual 結果:152 舉個栗子4:select regexp_extract('152天內有67天無通話記錄','([0-9]+)([^0-9]+)([0-9]+)',2) from dual 結果:天內有 舉個栗子5:select regexp_extract('152天內有67天無通話記錄','([0-9]+)([^0-9]+)([0-9]+)',3) from dual 結果:67
? 2.截取字符串中的字母和數字部分:([^xyz] 不匹配這個集合中的任何一個字符)
舉個栗子:select regexp_replace('wo愛你123CHINA中國!','([^a-zA-Z0-9]+)','') from dual 結果:wo123CHINA3. 指明兩項之間的一個選擇。例子'([a-z]+|[0-9]+)$'表示所有小寫字母或數字組合成的字符串。
栗子:SELECT regexp_replace('七夕節Coming666!','([a-z]+|[A-Z]+|[0-9]+)','') from dual
結果:七夕節! 4. 匹配一個非字數字符(/D 等同于 [^0-9]) 舉個栗子1:select regexp_replace('我愛你123zhongguo666!','(\\D+)','') from dual 結果:123666regexp_extract用法(參數3取決于參數2()的數量,從0開始) 5. 截取字符串中的數字部分([xyz] 匹配這個集合中的任何一個字符)(/d 匹配一個字數字符) 舉個栗子:select regexp_extract('七夕節coming666','([0-9]+)',1) from dual ????? or select regexp_extract('七夕節coming666','(\\d+)',1) from dual 結果:666 6.截取字符串中的字母部分 舉個栗子:select regexp_extract('七夕節Coming666','([a-zA-Z]+)',1) from dual; 結果:Coming 另注意一種方法:(\\W)匹配漢字?? (\w) 表示匹配字母、下劃線、數字 例如:select regexp_extract('產險一級機構02','(\\W*)(\\w*)',1) from dual? 結果:產險一級機構 例如:select regexp_extract('產險一級機構02','(\\W*)(\\w*)',2) from dual? 結果:02 7 {n} 精確匹配n次 舉栗子1:select regexp_extract('我愛你123zhongguo666!','(你)(.*?)(6)',0) from dual 結果:你123zhongguo6 舉栗子2:select regexp_extract('我愛你123zhongguo666!','(你)(.*?)(6)',1) from dual 結果:你 舉栗子3:select regexp_extract('我愛你123zhongguo666!','(你)(.*?)(6)',2) from dual 結果:123zhongguo 舉栗子4:select regexp_extract('我愛你123zhongguo666!','(你)(.*?)(6)',3) from dual 結果:6 舉個栗子2:select regexp_extract('152天內有67天無通話記錄','([0-9]+)([^0-9]+)([0-9]+)',0) from dual 結果:152天內有67 舉個栗子3:select regexp_extract('152天內有67天無通話記錄','([0-9]+)([^0-9]+)([0-9]+)',1) from dual 結果:152 舉個栗子4:select regexp_extract('152天內有67天無通話記錄','([0-9]+)([^0-9]+)([0-9]+)',2) from dual 結果:天內有 舉個栗子5:select regexp_extract('152天內有67天無通話記錄','([0-9]+)([^0-9]+)([0-9]+)',3) from dual 結果:67
轉載于:https://www.cnblogs.com/db-record/p/11454325.html
總結
以上是生活随笔為你收集整理的hive正则表达式的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 图像中加入高斯白噪声,MA
- 下一篇: RISC-V应用于高性能处理器的可能性