2014-02-26 71 views
0

Iam在vba中使用正則表達式來過濾來自文本文件的一些數據。 文本文件看起來是這樣的:使正則表達式更短

GB01;150.08 ;0.00 ;1000.48 ;800.40 ;1000.48 ;1000.48 ;201304 
AB01;150.08 ;0.00 ;1000.48 ;800.40 ;1000.48 ;1000.48 ;201304 
CB01;150.08 ;0.00 ;1000.48 ;800.40 ;1000.48 ;1000.48 ;201304 

我希望讓我的正則表達式看起來像這樣給過濾器的一切:

(\w+);(\d+.?\d+)\s;(\d+.?\d+)\s;(\d+.?\d+)\s;(\d+.?\d+)\s;(\d+.?\d+)\s;(\d+.?\d+)\s;(\d+) 

林很新,正則表達式這樣的IM有什麼我能做的有限。 有沒有辦法讓這個正則表達式更短,更乾淨?

回答

2

但你只想在拆分這這些線路?

GB01

150.08

0.00

1000.48

800.40

1000.48

1000.48

你可以嘗試拆分方法,也許將是有益的。

http://msdn.microsoft.com/es-es/library/6x627e5f(v=vs.90).aspx

+1

是的,我想過濾一切從txt,然後將值保存在一個變量,用數字做一些數學,並把結果放在一個表格在正確的地方。所以是的,我認爲splitmethod會起作用,謝謝! – Eugen

+0

如果答案對您有幫助,請檢查是否正確;)對eveyone有用!謝謝 –

0

可以使用重複的組相匹配的(數字+空間+「;」):所述第二組的最後一個號碼相匹配,以及,

(\w+);(\d+\.?\d+ ;)+ 

注意沒有「 ;」