2015-04-01 69 views
0

我正在使用VBA,並開始使用RegEX庫查找數字和/或英文文本,到目前爲止我沒有任何問題,但現在我需要在包含數字和希伯來字母混合的文本字段(具有多種可能格式的地址)上使用它。如何使用vba的正則表達式爲非英文字母創建正則表達式5.5

我已經設法以「啞」的方式使用它,我可以找到文字和一些短的模式(例如,找到任何組合,這意味着一個郵政信箱 - 兩個字母與任何非字母非數字他們),但我不能使用類似\w的英文 - 這會讓我的生活變得更好。

有無論如何創建「自定義」的正則表達式,並將它們保存爲變量?例如,我想使這個(一個正則表達式的一個希伯來文):

regEx.Pattern = "(א|ב|ג|ד|ה|ו|ז|ח|ט|י|כ|ל|מ|נ|ס|ע|פ|צ|ק|ר|ש|ת|ם|ן|ף|ץ)+" 

,並保存爲例如甚至\hw(簡稱希伯來文),因爲我需要幾種類型的模式和幾種可能的格式進行識別,這將爲我節省很多挫折(因爲IDE已經沒有與希伯來語字母的最佳交互)。

回答

2

您可以創建自己的字符類,並在代碼中使用它:

Dim hw As String 
hw = "[אבגדהוזחטיכלמנסעפצקרשתםןףץ]+" 
regEx.Pattern = "^" + hw + "$" ' to match an isolated Hebrew word 

regEx.Pattern = hw + " " + hw ' to match two Hebrew words separated with a space 

但是,你不能「名」是解決諸如\hw

+1

我更新了答案。順便說一句,你應該注意在VBA中的單詞邊界,你總是可以依靠錨點('^'和'$')以及單詞邊界('\ b')。此外,請訪問http://www.regular-expressions.info/vb.html和http://www.regular-expressions.info/vbscript.html以獲取有關VBA正則表達式的更多詳細信息。 – 2015-04-01 12:37:32