日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

postSQL 正则表达式与like使用

發布時間:2023/12/9 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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開頭的記錄

  • LIKE?模式匹配總是覆蓋整個字串。 要匹配在字串內部任何位置的序列,該模式必須以百分號開頭和結尾。 LIKE運算符也可以匹配指定的字符串,但與~不同,LIKE匹配的字符串如果在文本中間出現,則找不到它,相應的行也不會返回。而~在文本進行匹配,如果被匹配的字符串在文本中出現,~將會找到它,相應的行會被返回。 Table 正則表達式匹配操作符(注意:~相當于like) 操作符描述例子
    ~匹配正則表達式,大小寫相關'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使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。