【发布时间】:2013-12-09 04:16:48
【问题描述】:
所以我正在为“Item #”解析以下形式的文件(A 和 B 不包括在格式中),将它们添加到列表中,为清楚起见,.'s 是空格:
Someword: a list of words of any length (A)
....Item 1 (B)
....Item 2
.Item 3
其中 (A) 部分始终采用这种形式,而 B 部分始终使用制表符(4 个空格)或单个空格缩进。我的结果是 {Item 1,Item 2,Item 3}。到目前为止,我刚刚使用了一个正则表达式来匹配 (A) 部分,然后添加了以下行并调用了 .trim() 。
我的问题是,我将如何解析看起来像这样的东西:
Someword: a list of words of any length
........Item 1
这样第二行就有 8 个空格。所以我想忽略前 4 个(或可能是 1 个)空格,并捕获其他所有内容,如果 x 在这种情况下是空格,则会导致 {....Item 1}。
【问题讨论】:
-
如果您要求使用正则表达式,
( |\t)(.*)将匹配前面有 4 个空格或制表符的项目,并且项目(可能包括空格)将在第二个 sumbatch 中。但是为什么还要保留格式呢? -
你提供的例子不清楚。添加 真实 示例(一个“有效”,一个无效),显示您的 当前 代码,以及输入“无效”的请求输出是什么工作”。