久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Excel新函數:正則表達式(REGEX)函數 - Excel函數式編程

     ExcelEasy 2024-06-11 發布于北京

    前一陣子太忙,公眾號停止更新了一段時間。最近剛有點時間,想起來看看微軟有什么更新,竟然發現微軟在Excel中推出了正則表達式函數。

    其實很早就有人問我關于Excel中使用正則表達式的問題,還有人吐槽:Word中都支持正則表達式,為什么在Excel中不支持?

    現在大家可以安心了,Excel也支持了!這里我就先簡單介紹一下這幾個正則表達式函數的使用,作為恢復更新的第一篇。

    注:現在還是只有測試頻道的朋友可以使用這幾個正則表達式函數。什么是正則表達式

    正則表達式,英文是Regular Expression,簡寫為Regex,是一種按照特殊規則定義的字符串,用來表示一種字符串模式。

    正則表達式經常用來進行字符串查找,匹配或分析,比如檢查一個字符串是否符合某種特定的模式,從一個字符串中抽取符合特定模式的子串,或者將符合特定模式的子串替換成給定的字符串。

    這三種工作分別對應Excel中的三個函數。

    一個典型的正則表達式是這樣的:

    ^a(?=.*\d)(?=.*[A-Z])(?=.*[a-z])[a-zA-Z\d]{7,}

    不經過一段時間的學習恐怕是不容易理解這個正則表達式的含義的。

    好在,也有一些不那么復雜的可以很容易掌握的規則,比如:

    “[0-9]”:任意一個數字

    “[a-z]”:任意一個小寫字母

    “.”:任意一個字符

    “a”:一個小寫字母“a“

    “a*”:任意多個(0個或多個)小寫字母”a“

    “a+”:一個或多個小寫字母”a“

    等等等等.....

    說實話,我本身對正則表達式函數的真正作用是有所懷疑的。我不是懷疑它的強大功能,而是懷疑有多少Excel用戶能真正掌握正則表達式。

    不過對普通人來說,這個門檻也降低了很多,因為可以使用AI幫我們生成正則表達式,只要你描述規則,現在一般的AI都可以完成這個工作。比如,在通義千問中,就可以這么提問:

    要查找以a開頭的包含至少8個數字和字母的字符串,同時包含數字,大寫字母和小寫字母,請寫出正則表達式

    AI給出了這樣的回答:

    REGEXTEST

    REGEXTEST函數的作用是檢查一個字符串是否符合給定的模式,如果是,返回TRUE,否則返回FALSE。

    語法如下:

    REGEXTEST (文本、模式、[case_sensitivity])

    其中,

    第一個參數“文本”,表示需要檢查的字符串;

    第二個參數“模式”,表示給定的模式;

    第三個參數指示是否按照大小寫敏感的方式檢查。如果是0,表示大小寫敏感,如果是1,表示大小寫不敏感。缺省為0。

    下面是一個例子:

    B列使用TEGEXTEST檢查A列相應的字符串是否符合給定模式。檢查結果A1符合,A2不符合。REGEXEXTRACT

    這個函數的作用是一個字符串中提取符合給定模式的子串。

    語法如下:

    REGEXEXTRACT (文本、模式、[return_mode]、[case_sensitivity])

    其中,

    第一個參數“文本”,表示待提取子串的字符串;

    第二個參數“模式”,表示給定的模式;

    第三個參數,表示返回類型。如果為0,返回匹配的第一個子串;如果為1,以數組形式返回匹配的所有子串;如果為2,返回第一個匹配項的捕獲組;

    第四個參數,指示是否按照大小寫敏感的方式匹配。如果是0,表示大小寫敏感,如果是1,表示大小寫不敏感。缺省為0。

    下面是一個例子:

    這里我們使用了正則表達式:

    [A-Z][a-z]+

    這里的模式是:開頭是一個大寫字母,然后跟著1個或多個小寫字母。

    所以在字符串:

    Regular Expression Functions

    中,有三個符合這個模式的字符串:

    Regular

    Expression

    Functions

    因此,B1中的公式就返回第一個:Regular。

    B2中的公式需要返回一個數組,包含所有的三個匹配結果。

    這里我們沒有演示捕獲組的用法,那是正則表達式中比較高級的概念。我們在以后再詳細介紹。

    可以想象,這個函數對于那些字符串分拆的場景是非常有用的。

    REGEXREPLACE

    這個函數的作用是將字符串中符合給定模式的子串替換為其他的內容。

    語法如下:

    REGEXREPLACE (文本、模式、replacement、[occurrence]、[case_sensitivity])

    其中,

    第一個參數“文本”,表示給定的字符串;

    第二個參數“模式”,表示給定的模式;

    第三個參數“replacement”,表示替換后的字符串;

    第四個參數,表示需要替換的子串序號。如果是0,表示所有符合該模式的子串都需要替換。如果是1,就替換第一個符合模式的子串,以此類推。如果是負數,就從后往前數。

    第五個參數,指示是否按照大小寫敏感的方式匹配。如果是0,表示大小寫敏感,如果是1,表示大小寫不敏感。缺省為0。

    下面是一個例子:

    這里,我們希望將身份證號的后四位替換成****,因此使用正則表達式:

    "[0-9]{4}$"

    $表示字符串結尾,{4}表示4個,全部的含義是結尾的四個數字構成的子串。

    這個公式的作用就是將結尾的四個數字替換成"****"。

    盡管REGEXREPLACE函數中沒有提到捕獲組,不過使用捕獲組可以完成很多復雜的替換。我們以后再詳細介紹。

    總結

    從概念上,這三個函數非常容易理解。它們的功能也非常強大。不過相信大家也會發現,要想發揮著三個函數的威力,理解和掌握正則表達式是必須的。后面我會結合正則表達式介紹詳細介紹這三個函數的使用。

      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国产V亚洲V天堂A无码| 亚洲国产精品一二三区| 亚洲AV永久无码精品三区在线| 成人小说亚洲一区二区三区| jizzjizz少妇亚洲水多 | 国产精品久久久久影院亚瑟| 精品无码一区在线观看| 亚洲欧洲自拍拍偷午夜色无码| 中文字幕国产精品资源| 国产香蕉尹人综合在线观看| 亚洲影院丰满少妇中文字幕无码| 国内精品久久久久久无码不卡 | 116美女极品a级毛片 | 国产精品国语对白露脸在线播放| 色欲久久人妻内射| 久久亚洲精品11p| 加勒比无码人妻东京热| 国产一精品一AV一免费爽爽 | 天天影视网色香欲综合网| 中文乱码人妻系列一区二区| 亚洲成人av综合一区| 正在播放国产剧情亂倫| 天天爽夜夜爱| 午夜不卡欧美AAAAAA在线观看| 播放灌醉水嫩大学生国内精品 | 国产精品视频午夜福利| 国产亚洲精品AA片在线播放天 | 国内精品伊人久久久久影院对白| AV无码小缝喷白浆在线观看| 人妻丝袜AV中文系列先锋影音| 国产精品视频第一区二区三区| 亚洲色大成网站WWW久久| 国产精品久久国产精品99| 亚洲精品国产一二三区| 色综合久久久久综合体桃花网| 亚洲日韩久热中文字幕| 中文字幕AV无码人妻| 成年在线观看免费人视频| 伊人久久无码大香线蕉综合| 在线中文字幕有码中文| 国产一二三五区不在卡|