【发布时间】:2011-03-11 12:01:27
【问题描述】:
我必须从 ASCII 文本文件中解析一些表格。这是部分示例:
QSMDRYCELL 11.00 11.10 11.00 11.00 -.90 11 11000 1.212
RECKITTBEN 192.50 209.00 192.50 201.80 5.21 34 2850 5.707
RUPALIINS 150.00 159.00 150.00 156.25 6.29 4 80 .125
SALAMCRST 164.00 164.75 163.00 163.25 -.45 80 8250 13.505
SINGERBD 779.75 779.75 770.00 773.00 -.89 8 95 .735
SONARBAINS 68.00 69.00 67.50 68.00 .74 11 3050 2.077
该表由 1 列文本和 8 列浮点数组成。我想通过正则表达式捕获每一列。
我对正则表达式很陌生。这是我想出的错误正则表达式模式:
(\S+)\s+(\s+[\d\.\-]+){8}
但该模式仅捕获第一列和最后一列。 RegexBuddy 还会发出以下警告:
你重复了捕获组 本身。该组将仅捕获 最后一次迭代。放一个捕捉 围绕重复的组进行分组 捕获所有迭代。
我查阅了他们的帮助文件,但我不知道如何解决这个问题。
如何分别捕获每一列?
【问题讨论】:
-
您使用哪种语言?在 .NET 中这很容易。
-
@Tim:是的,我打算用 C# 编写程序。但目前,我正在用 Python 对其进行原型设计。
-
它可以通过组捕获来检索。看看stackoverflow.com/questions/11051558/…