【发布时间】:2011-07-08 19:44:42
【问题描述】:
寻找一种使用多行正则表达式匹配器读取以下配置文件示例的方法。我可以逐行读取文件,但我想了解灵活的正则表达式匹配的细节。
所以配置文件中的代码块如下:
blockName BLOCK
IDENTIFIER value
IDENTIFIER value
IDENTIFIER
"string literal value that
could span multiple lines"
标识符的数量可以是 1..infinity。 IDENTIFIER 可以是 NAME、DESCRIPTION、TYPE 等。
我以前从未使用过多行正则表达式。我对这个过程不是很熟悉。我本质上是想通过这个正则表达式使用一个findAll函数将所有解析的块数据放入一个数据结构中进行处理。
编辑:澄清:我只想阅读这个文件一次。我不在乎效率或优雅。我想将信息读入数据结构,然后以不同的格式吐出。这是一个大文件(3000 行),我不想手动执行此操作。
【问题讨论】:
-
你最好为此编写一个合适的词法分析器和解析器。
-
您使用什么语言/工具(例如 Perl、Python、JavaScript、PowerShell 等)?每个都有自己的正则表达式风格,每种风格都有自己的一套功能和怪癖。