當前為5.1版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

REGEXP

1. 抽取資料

1.1 用法一

1)概述

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

2)注意事項

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


  • 兩個正文型別參數。

3)範例

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

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


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


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=128

CANON_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. 直連版本

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


附件列表


主題: 数据分析进阶
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 评价文档,奖励 1 ~ 100 随机 F 豆!