postSQL 正则表达式与like使用
生活随笔
收集整理的這篇文章主要介紹了
postSQL 正则表达式与like使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在postgresql中使用正則表達式時需要使用關鍵字“~”,以表示該關鍵字之前的內容需匹配之后的正則表達式,若匹配規則不需要區分大小寫,可以使用組合關鍵字“~*”;
相反,若需要查詢不匹配這則表達式的記錄,只需在該關鍵字前加否定關鍵字“!”即可。若正則表達式包含轉義字符,則需在表達式前加關鍵字“E”。
例如:
select * from user where email ~ '^[A-H]' --匹配email地址以A-H開頭的記錄
select * from user where email ~* '^[a-h]' --匹配email地址以A-H和a-h開頭的記錄
| ~ | 匹配正則表達式,大小寫相關 | 'thomas' ~ '.*thomas.*' |
| ~* | 匹配正則表達式,大小寫無關 | 'thomas' ~* '.*Thomas.*' |
| !~ | 不匹配正則表達式,大小寫相關 | 'thomas' !~ '.*Thomas.*' |
| !~* | 不匹配正則表達式,大小寫無關 | 'thomas' !~* '.*vadim.*' |
正則表達式量詞
| * | 一個匹配 0 或者更多個原子的序列 |
| + | 一個匹配 1 或者更多個原子的序列 |
| ? | 一個匹配 0 個或者 1 個原子的序列 |
| {m} | 一個正好匹配?m?個原子的序列 |
| {m,} | 一個匹配m?個或者更多原子的序列 |
| {m,n} | 一個匹配?m?到?n?個(包含兩端) 原子的序列;m?不能比?n?大 |
| *? | *?的非貪婪模式 |
| +? | +?的非貪婪模式 |
| ?? | ??的非貪婪模式 |
| {m}? | {m}?的非貪婪模式 |
| {m,}? | {m,}?的非貪婪模式 |
| {m,n}? | {m,n}?的非貪婪模式 |
{...}?的形式被稱作范圍。 一個范圍內的數字?m?和?n?都是無符號十進制整數, 允許的數值從 0 到 255(閉區間)。
?正則表達式約束
| ^ | 匹配字串的開頭 |
| $ | 匹配字串的結尾 |
| (?=re) | 正前瞻?匹配任何匹配?re?的 子字串起始點(只在 ARE 中有) |
| (?!re) | 負前瞻?匹配任何不匹配?re?的子字串的起始點。(只在 ARE 中有) |
?
總結
以上是生活随笔為你收集整理的postSQL 正则表达式与like使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [react] react中的setSt
- 下一篇: Taro+react开发(75):tar