當(dāng)前位置:
首頁(yè) >
Hive 正则匹配函数 regexp_extract
發(fā)布時(shí)間:2025/5/22
33
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Hive 正则匹配函数 regexp_extract
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Hive 正則匹配函數(shù) regexp_extract
1。regexp_extract
語(yǔ)法: ? ?regexp_extract(string subject, ?string pattern, ?int index)
返回值: string
說明: ?將字符串subject按照pattern正則表達(dá)式的規(guī)則拆分,返回index指定的字符。
第一參數(shù): ? 要處理的字段
第二參數(shù): ? ?需要匹配的正則表達(dá)式
第三個(gè)參數(shù):
- 0是顯示與之匹配的整個(gè)字符串
- 1 是顯示第一個(gè)括號(hào)里面的
- 2 是顯示第二個(gè)括號(hào)里面的字段...
?
注意,在有些情況下要使用轉(zhuǎn)義字符(雙斜杠了‘\\’)。
舉例:
select regexp_extract('x=a3&x=18abc&x=2&y=3&x=4','x=([0-9]+)([a-z]+)',0), -- x=18abc regexp_extract('x=a3&x=18abc&x=2&y=3&x=4','^x=([a-z]+)([0-9]+)',0), -- x=a3regexp_extract('https://detail.tmall.com/item.htm?spm=608.7065813.ne.1.Ni3rsN&id=522228774076&tracelog=fromnonactive','id=([0-9]+)',0), -- id=522228774076 regexp_extract('https://detail.tmall.com/item.htm?spm=608.7065813.ne.1.Ni3rsN&id=522228774076&tracelog=fromnonactive','id=([0-9]+)',1), -- 522228774076regexp_extract('http://a.m.taobao.com/i41915173660.htm','i([0-9]+)',0), -- i41915173660 regexp_extract('http://a.m.taobao.com/i41915173660.htm','i([0-9]+)',1) -- 41915173660from test.dual;?
正則匹配字符解釋:
- ^ 表示開頭
- $ 表示結(jié)尾
- . 表示任意字符
- * 表示任意多個(gè)
2。手機(jī)號(hào)清洗:
?regexp_replace(mobile,'[^0-9]','') ? ?regexp '1[0-9]{10}' ?返回true,則為好的手機(jī)號(hào)。
?
3。其他兩個(gè)函數(shù)split 和 parse_url
也可以做簡(jiǎn)單的url 關(guān)鍵字提取, 如下
select 'xinli.ewt360.com/Psychology/Search?keyword=abc?語(yǔ)文數(shù)學(xué)123' url,split(split(lower('xinli.ewt360.com/Psychology/Search?keyword=abc?語(yǔ)文數(shù)學(xué)123/from'),'keyword=')[1],'/')[0] split1, -- 結(jié)果: abc?語(yǔ)文數(shù)學(xué)123split(parse_url(concat('http://',lower('xinli.ewt360.com/Psychology/Search?keyword=abc?語(yǔ)文數(shù)學(xué)123/from')), 'QUERY','keyword'),'/')[0] parse_url1,regexp_extract(lower('xinli.ewt360.com/Psychology/Search?keyword=abc?語(yǔ)文數(shù)學(xué)123'),'keyword=(.+)',1), -- 還未找到辦法regexp_extract(lower('xinli.ewt360.com/Psychology/Search?keyword=語(yǔ)文數(shù)學(xué)'),'keyword=(^[\\u4e00-\\u9fa5]$)+') -- 中文匹配,還未驗(yàn)證?
4.??https://blog.csdn.net/lsr40/article/details/82223923
?
posted on 2016-02-01 15:15 Suckseedeva 閱讀(...) 評(píng)論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/skyEva/p/5175377.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Hive 正则匹配函数 regexp_extract的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NDK构建
- 下一篇: Cloud Foundry中warden