語法: regexp_extract(string subject, string pattern, int index)正則表達式
返回值: stringsql
說明: 將字符串subject按照pattern正則表達式的規則拆分,返回index指定的字符。cors
第一參數: 要處理的字段post
第二參數: 須要匹配的正則表達式spa
第三個參數:code
注意,在有些狀況下要使用轉義字符(雙斜槓了‘\\’)。regexp
1
2
3
4
5
6
7
8
9
10
11
|
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=a3
regexp_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),
-- 522228774076
regexp_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)
-- 41915173660
from
test.dual;
|
regexp_replace(mobile,'[^0-9]','') regexp '1[0-9]{10}' 返回true,則爲好的手機號。htm
具體使用:blog
select id,name,corse,time,
regexp_extract(name,'li":(.*?),"z',1) as price,
from student
where time='20170703'
limit 100ci