大数据学习(十三)hive正则表达式
生活随笔
收集整理的這篇文章主要介紹了
大数据学习(十三)hive正则表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、hive支持正則的函數
regexp:用法類似rlike,比如在where里面判斷 A regexp B
regexp_extract:regexp_extract(string subject, string pattern, int index),將字符串subject按照pattern正則表達式的規則拆分,返回index指定的字符
regexp_replace:?regexp_replace(string A, string B, string C),將字符串A中的符合java正則表達式B的部分替換為C。注意有些情況下要使用轉義字符
二、正則表達式怎么寫
1、元字符匹配
| \d | 從0-9的任一數字 |
| \D | 任一非數字字符 |
| \w | 任一單詞字符,包括A-Z,a-z,0-9和下劃線 |
| \W | 任一非單詞字符 |
| \s | 任一空白字符,包括制表符,換行符,回車符,換頁符和垂直制表符 |
| \S | 任一非空白字符 |
| . | 任一字符 |
2、邊界集合
| ^ | 每一行的開頭,單行模式下等價于字符串的開頭 |
| $ | 每一行的結尾,單行模式下等價于字符串的結尾 |
3、重復次數集合
貪婪模式會獲取盡可能多的字符,而非貪婪模式會獲取盡可能少的字符
| * | *? | 零次或多次 |
| ? | ?? | 零次或一次 |
| + | +? | 一次或多次 |
| {m} | {m}? | 正好m次,貪婪與非貪婪一樣的 |
| {m,} | {m,}? | 至少m次 |
| {m, n} | {m, n}? | 最少m最多n次 |
四.組合操作符
| […] | 方括號內任意字符或字符集合中的一個 |
| [^…] | 方括號內^為第一個字符時,表示與其后所有字符都不匹配的字符 |
| ( ) | 圓括號,將復雜表達式當作單一表達式來處理 |
| | | 或 |
| abc | 和。直接將字符連在一起寫 |
五、匹配操作符
| \n | 即后向引用。n為1~9,標識由圓括號里取得的匹配字符串。方向是從左到右在regexp_replace函數中,允許在模式表達式和替換表達式中都使用\n |
六、轉義操作符
| \ | 將其后緊跟著的操作字符當作普通字符看待。例如 abcdef 可以匹配 abdef或abcccdef等,但無法匹配 abcdef,后者需要abc*def才能匹配 |
總結
以上是生活随笔為你收集整理的大数据学习(十三)hive正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开关电源设计笔记
- 下一篇: 电力行业数字孪生技术应用白皮书(2022