- 我应该使用RegularExpressions来做到这一点吗?
- 能够构造的结果可查询,IEnumerable的,等
我有一个文件,我不能改变它是如何产生的。我希望创建一个解析器类来提取所有数据。理想情况下,我想然后使用这个类来打开文件并让它返回一个我可以使用的可查询数组类型结构。在C中解析一个自定义文件#
的数据结构是这样的:
["Table"] = {
["Text"] = {
["Number"] = {
"Item", --[1]
"Item", --[2]
"Item", --[3]
},
--repeat--
Note that the actual file has line brakes, tab, etc. (\n\t\t)
As you will see the patters I use take this into account
to get different levels.
我有一个对VB6编写了这个非常文件,但正则表达式中,7种图案的1不起作用:
@"^\t\[""([\s\S]*?)""] = {([\s\S]*?)^\t},$
这应该将最高级别[“表格”]分组到他们自己的比赛中。但它返回0并且很慢。如果我把$ sign拿出来,它也会返回所有的子节点。这是阻止我使用正则表达式执行此操作的唯一因素。
另一种选择是只是逐行解析我猜。我确信我可以在给定的时间内解决这个问题,但是我希望在我走另一条路之前听到其他意见。
有什么想法?
您试图从中提取的数据在哪里?每个分组中的表格,文本,数字,项目,1,2,3是不变的值? – Andy 2010-06-26 03:38:58