如果給定的Excel單元格的內容與特定的正則表達式匹配,那麼VBA有什麼好的檢查機制?VBA正則表達式問題
在我的情況,我想知道,如果一些小區的格式
m
m2
m1234
事實上,這只是一個開頭字母的定義,其次是沒有指定的數字量。
我該如何將它放入If-Else構造中?
If Doc.Cells(1,1).Value ..... ???
映入眼簾,poeschlorn
如果給定的Excel單元格的內容與特定的正則表達式匹配,那麼VBA有什麼好的檢查機制?VBA正則表達式問題
在我的情況,我想知道,如果一些小區的格式
m
m2
m1234
事實上,這只是一個開頭字母的定義,其次是沒有指定的數字量。
我該如何將它放入If-Else構造中?
If Doc.Cells(1,1).Value ..... ???
映入眼簾,poeschlorn
您可以通過工具 - >引用的VBScript的RegExp對象得到&加入「微軟的VBScript正則表達式5.5」
另外一個快速的方法來做到這一點,如果你不需要檢查後續的信在`m1234X1是:
if Doc.Cells(1,1).Value like "[a-zA-Z]#*" then ...
(這不需要任何東西的引用)
我不知道VBA,但正則表達式[a-zA-Z][0-9]*
也許能夠滿足你想要什麼。
嗨,看起來不錯,但他只識別「m2」或「m10」,也不是「m」...... – poeschlorn 2010-07-15 13:51:41
它應該匹配'm'。 – 2010-07-15 13:54:18
以一種奇怪的方式不是... [mM] [0-9] *只給m12,m1,m10 – poeschlorn 2010-07-16 06:50:59
這是我RegexContains功能。將它傳遞給單元格和模式,如果它包含或不包含,它將返回TRUE或FALSE。現在
,我不知道你想在你的榜樣準確地找到,但如果你想知道,如果單元格中包含一個字母后跟一個或多個字母,那麼你可以使用(假設該細胞是A1):= RegexContains(A1, 「^ \ W \ d +」)
我希望這會有所幫助。
我沒有VB可以做RegEx。很高興知道。 – 2010-07-15 15:46:46
只是另一個問題...我如何檢查,如果我的字符串匹配像「abc_123」或「abc123」(其中「abc」總是在開頭?)的正則表達式? – poeschlorn 2010-07-19 13:21:43