一、函數介紹 REGEX 函數是指支持正則表達式的系列函數,包含 REGEXMATCH、REGEXEXTRACT 以及 REGEXREPLACE 函數,讓你可以方便地在海量文本中批量查找、提取或替換你想要的模式化內容。 二、函數解讀 REGEXMATCH REGEXEXTRACT REGEXREPLACE 三、正則表達式語法 作為該系列函數的核心,正則表達式可以用于檢查字符串中是否包含符合指定規則的內容。 1.舉例 假設你需要從一大堆文字材料里提取郵箱地址。你肯定知道郵箱地址的特征,但這種規則確定,文本長度和內容不確定的東西,用正則怎么去表示呢?如下: 別被這些字符嚇到,你可以在本文“元字符”部分了解其準確含義,而在上述例子中,它的意思是: 注意,就像解數學題有不同的解法,對同一類型內容的正則表達式也可能不同,以上僅是郵箱正則表達式的一個參考,下面進入語法規則詳解: 2.精確匹配 如果不使用特殊的元字符,你可以像平時檢索任何內容一樣,直接指定精確檢索的內容。比如 = REGEXMATCH("Sheets", "se") 表示在 Sheets 中直接匹配 se —— 匹配不到,結果是 FALSE。 3.元字符 正則表達式更多依賴于元字符 —— 元字符并不表達它的字面意思,而是代表特殊含義。在上面例子中,如果將匹配的正則表達式修改為 S.e,也就是公式改成 = REGEXMATCH("Sheets", "S.e"),會得到 TRUE 的結果。因為 . 是一個元字符,可以用來表示任何非換行符的單個字符,所以 S.e 會匹配到 Sheets 中的 She 部分。 匹配規則:默認從左至右,如果不指定重復次數的話,會返回滿足正則表達式的第一組值
4. 前后預查 前后預查,也叫斷言、環視(look-around),用于判斷字符串前后是否滿足一定正則條件。它并不捕獲文本,只用于輔助判斷,并返回匹配條件的結果。預查的條件需要寫在小括號中,目前支持以下 2 種方式: 5.分組與捕獲 (小括號的用法) 用小括號括起來部分就是一個分組。分組又包含捕獲組和非捕獲組,這是什么意思呢? 關于分組,有一些實用竅門: 使用 REGEXEXTRACT 提取內容時,可通過多個分組一次提取多列內容。如下方這樣,通過 3 個括號,將內容平分在了 3 列中。 此外,分組是可以嵌套使用的,如下方這樣,多層嵌套后,就能一次拆分為 4 列: 
在分組后寫 \n (n 是一個正整數),表示引用這個分組內的值,因此你可以用 (.)\1 來匹配兩個連續的重復字符。
|