iT邦幫忙

2025 iThome 鐵人賽

DAY 18
0

正規表達式是一種標準化語法常規在字符串中搜索文字資料的方法,透過正規表達式可以指定複雜字符序列搜尋模式

  • 媒塔字符:指定執行搜索算法運算符
  • 文字:被查找實際字串
    ex:'(f|ht)tps?:
    媒塔字符包括括號 管道符號 問號,被查找字符為f ht t p和選擇性的s(因為s後面是問號)跟冒號,媒塔文字中括號代表將一系列樣式元素組合成為一個元素,管道符號代表,括號中管道符號表示與左側或右側任一替代項目匹配,問號表示前面的字樣沒有
    正規表達式具有可以指定複雜文符序列搜尋樣式,因此正規表達式被當作Perl和Java等程式語言的強大文本處理組件。
  • REGEXP_LIKE:在來源字串或欄位中,依正規表達式定義的樣式及隨後匹配參數進行搜索,當字串與指定樣式匹配返回TRUE,不匹配回傳FALSE
  1. 來源字串可為實際字串或欄位
  2. 正規表達式:搜索之字串樣式
  3. 匹配參數可以為單項或是組合
    i 指定不區分大小寫
    c 區分大小寫
    n 允許句點
    m 將來源字串視為多行
  4. 如果省略匹配參數
    預設區分大小寫由NLS_SORT參數值確定
    句點換行布匹配
    來源字串被視為一行
  5. REGEXP_LIKE跟LIKE功能相似,可對來源字串或欄位以指定的字串樣式進行搜尋,
    SELECT 欄位1[,...,欄位N]
    FROM 資料表
    WHERE REGEXP_LIKE(來源字串或欄位, '正規表達式'['匹配參數']);
  • REGEXP_REPLACE:在來源字串中依正規表達式指定字串樣式進行搜索,並將匹配項目用替代字串換之
    SELECT 欄位1[,...,欄位N]
    FROM 資料表
    WHERE REGEXP_REPLACE(來源字串, '正規表達式','替代字串'[,P[,O[M]]]);
  • REGEXP_INSTR:搜索來源字串,並根據返回選項R參數的值,返回一個整數,指示匹配子字串的開始或結束位置,如果沒有匹配項則函數返回0
    SELECT 欄位1[,...,欄位N]
    FROM 資料表
    WHERE REGEXP_INSTR(來源字串, '正規表達式','替代字串'[,P[,O[M]]]);
  • REGEXP_SUBSTR:使用正規表達式定義的字串樣式去搜尋來源字串,如果有匹配項則返回匹配字串
    REGEXP_SUBSTR(來源字串,'正規表達式'[,P[0[,M]]])

上一篇
Day 17 複合查詢
下一篇
Day 19 操作語言
系列文
跟著生成式AI一起從零開始學習資料庫,22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言