【发布时间】:2017-04-16 17:24:54
【问题描述】:
nestedExpr 是否可以保留换行符?
这是一个简单的例子:
import pyparsing as pp
# Parse expressions like: \name{body}
name = pp.Word( pp.alphas )
body = pp.nestedExpr( '{', '}' )
expr = '\\' + name('name') + body('body')
# Example text to parse
txt = '''
This \works{fine}, but \it{
does not
preserve newlines
}
'''
# Show results
for e in expr.searchString(txt):
print 'name: ' + e.name
print 'body: ' + str(e.body) + '\n'
输出:
name: works
body: [['fine']]
name: it
body: [['does', 'not', 'preserve', 'newlines']]
如您所见,第二个表达式 (\it{ ...) 的主体被解析,尽管主体中有换行符,但我希望结果将每一行存储在一个单独的子数组中。这个结果使得无法区分单行与多行的正文内容。
【问题讨论】: