我在vba中使用regex来过滤文本文件中的一些数据。 文本文件如下所示:
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+)
我对正则表达式非常新,所以我对我能做的事情有限。 有没有办法让这个正则表达式更短更干净?
答案 0 :(得分:2)
但你只想将这些行分开?
GB01
150.08
0.00
1000.48
800.40
1000.48
1000.48
201304
您可以尝试使用Split方法,也许会有用。
http://msdn.microsoft.com/es-es/library/6x627e5f(v=vs.90).aspx
答案 1 :(得分:0)
你可以在匹配(数字+空格+';')的小组上使用重复:
(\w+);(\d+\.?\d+ ;)+
请注意,第二组也匹配最后一个数字,没有';'