首页
/
每日頭條
/
科技
/
vba字符串精确匹配正則
vba字符串精确匹配正則
更新时间:2025-07-16 04:23:21

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)1

我們在查找時通常會用通配符“*”表示任意字符,在正則表達式中也有一些固定的字符,它們可以表達某一類型的字符,以實現強大的匹配能力,這就是元字符。

下面例舉一些常用的元字符:(注意大小寫之分)

\d 匹配一個數字字符

\D 匹配一個非數字字符

\w 匹配包括下劃線的任何單詞字符。[A-Za-z0-9_]

\W 匹配任何非單詞字符

\s 匹配任何空白字符,包括空格、制表符、換頁符等等

\S 匹配任何非空白字符

\b 匹配一個單詞邊界,也就是指單詞和空格間的位置

\B 匹配非單詞邊界

\n 匹配一個換行符

\r 匹配一個回車符

\t 匹配一個制表符

. 匹配除"\n"之外的任何單個字符。

我們通過具體的例子來體會下這些元字符的作用:

一、\d 匹配一個數字字符演示效果

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)2

總結:在\d情況下,原數據中的數字不僅得到替換而且下劃線也進行了消除。

代碼如下:

Sub 演示VBA正則元字符匹配能力()

Dim regx As Object, n%

‘Dim regx As Object聲明regx為對象變量, n%聲明你為整形變量,%為是Interger整型變量的簡寫符号.

Set regx = CreateObject("vbscript.regexp")

With regx

.Global = True ‘Global屬性,指查找範圍,true為全部查找,false隻查找第一個

.Pattern = "\d" ' 下面例子中逐一替換即可

End With

Do

n = n 1

Cells(n 1, 2).Value = regx.Replace(Cells(n 1, 1).Value, "")

‘Cells(n 1, 2)中2指的是結果所在列.

Loop Until Cells(n 1, 1).Value = ""

End Sub

二、\D 匹配一個非數字字符演示效果

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)3

總結:

2.1 在\D情況下,原數據除了數字以外的數值全部得到了替換而且下劃線也進行了消除。

2.2 下劃線上面沒有數值的,下劃線是按照所占據的英文狀态下的空格逐一進行替換,有多少個空格就替換多少次,比如最後一行的長下劃線就替換了14個空格。

代碼如下:

Sub 演示VBA正則元字符匹配能力()

Dim regx As Object, n%

‘Dim regx As Object聲明regx為對象變量, n%聲明你為整形變量,%為是Interger整型變量的簡寫符号.

Set regx = CreateObject("vbscript.regexp")

With regx

.Global = True ‘Global屬性,指查找範圍,true為全部查找,false隻查找第一個

.Pattern = "\D" ' 下面例子中逐一替換即可

End With

Do

n = n 1

Cells(n 1, 3).Value = regx.Replace(Cells(n 1, 1).Value, "")

‘Cells(n 1, 3)中3指的是結果所在列.

Loop Until Cells(n 1, 1).Value = ""

End Sub

三、\w 匹配包括下劃線的任何單詞字符演示效果。[A-Za-z0-9_]

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)4

總結:大小寫字母、數字和空白下劃線都進行了替換,有數值的下劃線消失不見。

代碼如下:

Sub 演示VBA正則元字符匹配能力()

Dim regx As Object, n%

‘Dim regx As Object聲明regx為對象變量, n%聲明你為整形變量,%為是Interger整型變量的簡寫符号.

Set regx = CreateObject("vbscript.regexp")

With regx

.Global = True ‘Global屬性,指查找範圍,true為全部查找,false隻查找第一個

.Pattern = "\w" ' 下面例子中逐一替換即可

End With

Do

n = n 1

Cells(n 1, 4).Value = regx.Replace(Cells(n 1, 1).Value, "")

‘Cells(n 1, 4)中4指的是結果所在列.

Loop Until Cells(n 1, 1).Value = ""

End Sub

至此代碼不再一一展示,隻要改一下元字符運行即可看到效果.

四、\W 匹配任何非單詞字符演示效果

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)5

總結:圖文除字母、數字和空白數值的下劃線以外的字符都進行了替換。

五、\s 匹配任何空白字符,包括空格、制表符、換頁符等等

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)6

六、\S 匹配任何非空白字符

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)7

總結:從圖中可以看出空白字符和換行符不會得到替換。

七、\b 匹配一個單詞邊界,也就是指單詞和空格間的位置

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)8

總結:圖中重色框線部分就是單詞邊界。

八、\B 匹配非單詞邊界

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)9

總結:所謂非單詞邊界是指非空英文單詞字母之間,非空中文字符之間,非空數字之間,非英文字符和空格之間,兩個(含)以上連續空格都是非單詞邊界。

九、\n 匹配一個換行符

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)10

總結:從圖中可以看出換行符已經替換。十、\r 匹配一個回車符

Excel中不能直接按回車換行,否則會自動跳轉至下一個單元格。

十一、\t 匹配一個制表符

什麼是制表符,請看下圖:

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)11

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)12

制表符可以用來制作表格,它們在第9區。它們有:

制表符

┌ └ ┐ ┘ ─ │ ├ ┤ ┬ ┴ ┼

用它們可以制表(不用Excel),而且隻要是宋體,在任何電腦上都可以觀看。

制表符主要應用于word中。

十二、. 匹配除"\n"之外的任何單個字符。

vba字符串精确匹配正則(如何使用VBA中正則表達式之元字符實現強大的匹配能力)13

總結:從上圖中可以看出,除了換行符以外的所有字符都得到了替換。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
單反錄視頻有雜音怎麼解決
單反錄視頻有雜音怎麼解決
1、把視頻拖到會聲會影圖标上打開,直接點擊右上角的share,選擇audio,下拉框中把格式改為wa...
2025-07-16
抖音求更新記錄能删嗎
抖音求更新記錄能删嗎
演示機型:Iphone12系統版本:iOS14.4APP版本:抖音16.0.0抖音求更新記錄不能删。抖音求更新是為了能夠更好的讓粉絲和UP主互動,如果關注的人更新比較慢,或者沒有更新,即可使用這個功能,提醒他們進行更新,但一旦點了求更新,便不可删除。抖音:抖音是由今日頭條孵化的一款音樂創意短視頻社交軟件,該軟件于2016年9月20日上線,是一個面向全年齡的短視頻社區平台。2019年1月18日下午,
2025-07-16
手機otg是什麼意思
手機otg是什麼意思
1、手機支持OTG是指在無電腦作為中轉站的情況下,直接将手機連接U盤、讀卡器、MP3、鍵盤、數碼相機...
2025-07-16
汽車遙控器怎樣換電池
汽車遙控器怎樣換電池
1、按壓遙控器後部按鈕,取出遙控器中的鑰匙。2、用螺絲刀打開鑰匙鎖扣,并沿着開口劃開鑰匙。3、取出舊...
2025-07-16
微博關注了别人又取消别人知道嗎
微博關注了别人又取消别人知道嗎
演示機型:Iphone12&&華為P40&&小米11系統版本:iOS14.4&&EMUI11&&MIUI12.0.7APP版本:微博11.5.2對方不知道。在立即點了關注又取消的情況下,對方僅會有新增一個粉絲的提示,點開之後什麼信息也看不到,微博沒有統計這方面的功能,微博作為一種分享和交流平台,其更注重時效性和随意性。新浪微博主要功能有哪些:1、發布功能:用戶可以像博客、聊天工具一樣發布内容。2、
2025-07-16
Copyright 2023-2025 - www.tftnews.com All Rights Reserved