使用 pyparsing 匹配非空行
我正在尝试制作一个小型应用程序,它使用 pyparsing 从另一个程序生成的文件中提取数据。
这些文件具有以下格式。
SOME_KEYWORD:
line 1
line 2
line 3
line 4
ANOTHER_KEYWORD:
line a
line b
line c
我如何构造有助于提取第1行
、第2行
... 第4行
和第a行
的语法> .. c 行
? 我正在尝试构建这样的结构
Grammar = Keyword("SOME_KEYWORD:").supress() + NonEmptyLines + EmptyLine.supress() +\
Keyword("ANOTHER_KEYWORD:").supress() + NonEmptyLines + EmptyLine.supress()
,但我不知道如何定义 NonEmptyLines
和 EmptyLine
。 谢谢。
I am trying to make a small application which uses pyparsing
to extract data from files produced by another program.
These files have following format.
SOME_KEYWORD:
line 1
line 2
line 3
line 4
ANOTHER_KEYWORD:
line a
line b
line c
How can i construct grammar which will help to extract line 1
, line 2
... line 4
and line a
.. line c
?
I am trying to make a construction like this
Grammar = Keyword("SOME_KEYWORD:").supress() + NonEmptyLines + EmptyLine.supress() +\
Keyword("ANOTHER_KEYWORD:").supress() + NonEmptyLines + EmptyLine.supress()
But i don't know how to define NonEmptyLines
and EmptyLine
.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我的看法:
结果是:
My take on it:
Result is:
这将带您完成大部分工作:
构建语法时,将部分分配给变量并在可以时引用这些变量确实很有帮助。
This takes you most of the way there:
When building a grammar it really helps to assign parts to variables and reference those when you can.