REGEXP-判斷字串和正則表式是否匹配

1. 抽取資料

1.1 用法一

1)概述

文法REGEXP(str, pattern)字串 str 是否與正則表式 pattern 相匹配
參數1str字串
參數2pattern正則表式

2)注意事項

  • 若要使用\字元,需要重新整理增一個反斜槓。所以當公式為regexp(字串,"\d")時會提示不合法,需寫成regexp(字串,"\\d"),如下圖所示:  

1格式.png


  • 兩個正文型別參數

3)範例

公式結果備註
REGEXP("aaaaac","a*c")true
REGEXP("abc","a*c")false

本文以 \d 和 \w 為例,在編輯資料中使用該函式,其中 \d 表示匹配數字,\w 表示匹配字母或數字或底線或漢字,如下圖所示:

1效果.png


更多正則表式範例詳情參見:正則表式範例

1.2 用法二

1)概述

文法REGEXP(str, pattern, intNumber)字串 str 是否與具有給定模式 intNumber 的正則表式 pattern 相匹配
參數1str字串
參數2pattern正則表式
參數3intNumber給定模式

2)注意事項

intNumber 的模式如下所示 :

透過設定intNumber為兩種模式之和可以同時開啟多種模式,如intNumber=1 2=3則表示同時開啟 Unix行模式及不區分大小寫匹配模式

intNumber 模式概念
intNumber=1 UNIX_LINES 啟用Unix行模式,在此模式下,"."、"^"、"$"的行為中僅識別" "行結束符
intNumber=2CASE_INSENSITIVE 啟用不區分大小寫匹配。預設情況下,不區分大小寫匹配假定僅匹配US-ASCII字元集中的字元。可以透過指定UNICODE_CASE模式連同此模式來啟用Unicode感知的、不區分大小寫匹配。
intNumber=4COMMENTS 啟用允許使用空格和註釋模式。此模式將忽略空格和在結束行之前以#開頭的嵌入式註釋。
intNumber=8MULTILINE 啟用多行模式
intNumber=16LITERAL 啟用正文分析的模式。啟用此模式後,輸入字串就會作為字面值字元序列來對待。輸入序列中的元字元或轉義序列不具有任何特殊意義。CASE_INSENSITIVE 模式和 UNICODE_CASE 模式在與此模式一起使用時將對匹配產生影響。其他模式下無影響。
intNumber=32DOTALL 啟用dotall模式,表式"."可以匹配任何字元,包括行結束符。預設情況下,此表式不匹配行結束符。
intNumber=64UNICODE_CASE 啟用Unicode感知的大小寫摺疊。指定此模式並同時制定CASE_INSENSITIVE模式時,不區分大小寫匹配將以符合Unicode標準的方式完成。
intNumber=128CANON_EQ 啟用規範等效模式,啟用此模式後,當且僅當其完整規範分解匹配時,兩個字元才可視為匹配。
  • 支援前兩個參數為正文,第三個參數為數值型別

3)範例

公式結果公式說明
REGEXP("Aaaaabbbbc","a*b*c", 3)true

表示同時開啟 Unix行模式及不區分大小寫匹配模式。因此傳回 true

REGEXP("Aaaaabbbbc","a*b*c", 1)false表示同時開啟 Unix行模式,由於區分大小寫,因此傳回 false
REGEXP("Abc","abc", 2)true表示開啟不區分大小寫模式,因此傳回 true

REGEXP("Abc","abc", 2),如下圖所示:

2效果.png

2. 直連版本

1)概述

文法REGEXP(str,pattern)字串str是否與正則表式pattern相匹配
參數1str字串
參數2pattern正則表式

2)注意事項

第一個參數為正文型別,第二個參數為正文型別。

SAP Sybase 資料庫和 Microsoft SQL Server 資料庫不支援該函式。

3)範例

公式結果備註
REGEXP("aaaaac","a*c")true
REGEXP("abc","a c")false


附件列表


主题: 資料分析進階
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙