hive中簡單的正規表示式

2021-08-21 10:04:29 字數 1251 閱讀 6535

hive中可以使用自帶的函式regexp_extract(string,regex,index)來判斷

比如下面的語句

特別注意的是hive中要使用雙斜線

在真實的語句中,只需替換第乙個即可

select regexp_extract(name,'[\\w\\.]+',0) from student where

class='1'

limit

10;

最後乙個引數的意思是第幾個元組中正規表示式返回的值,預設是0,返回所有表示式在一起的值

當index為1時,表示正規表示式中第乙個元祖的值

返回結果

www

當index為2時,返回的是第幾個元祖中的正規表示式

select regexp_extract('www.baidu.com','(\\w+)(\\.)',2) from test1  limit

10;

返回結果
.

hive中除了上面的regexp_extract函式,還包括like、rlike這樣的用法

like中:_表示單個字元,%號代表任意字元

hive>

select a

like _bai%

from default.dual;

----表示a欄位中,第乙個字元任意,接下來三個字母必須是bai,後面的字母任意

wbai

abai123

3baijlk

rlike表示like啟用正規表示式

hive>

select

1from dual

where a

rlike

'^f.*r$';

-----表示以f開頭,中間任意字元,r結尾的字元

footbar

fsssdffsr

正規表示式簡單語法及常用正規表示式

基本符號 表示匹配字串的開始位置 例外 用在中括號中 時,可以理解為取反,表示不匹配括號中字串 表示匹配字串的結束位置 表示匹配 零次到多次 表示匹配 一次到多次 至少有一次 表示匹配零次或一次 表示匹配單個字元 表示為或者,兩項中取一項 小括號表示匹配括號中全部字元 中括號表示匹配括號中乙個字元 ...

正規表示式簡單語法及常用正規表示式

表示匹配字串的開始位置 例外 用在中括號中 時,可以理解為取反,表示不匹配括號中字串 表示匹配字串的結束位置 匹配中文字元的正規表示式 u4e00 u9fa5 匹配雙位元組字元 包括漢字在內 x00 xff 匹配空行的正規表示式 n s r 匹配html標記的正規表示式 匹配首尾空格的正規表示式 s...

sql正規表示式 SQL中的正規表示式

sql正規表示式 sql中的正規表示式 sql的查詢語句中,有時會需要引進正規表示式為其複雜搜尋指定模式。下面給出一些 regexp 在mysql 語句中應用 非全部 1 匹配字串的開始部分。mysql select fo nfo regexp fo 0mysql select fofo regex...