我正在使用 pyparsing 来解析包含行结束位置不同的文本的文档。无论换行位置如何,我都需要编写一个与文本匹配的解析器表达式。以下不起作用:
from __future__ import print_function
from pyparsing import *
string_1 = """The quick brown
fox jumps over the lazy dog.
"""
string_2 = """The quick brown fox jumps
over the lazy dog.
"""
my_expr = Literal(string_1)
print(my_expr.searchString(string_1)
print(my_expr.searchString(string_2)
这导致控制台上显示以下内容:
[['The quick brown \nfox jumps over the lazy dog.\n']]
[]
由于 ParserElement.DEFAULT_WHITE_CHARS 中包含换行符,我不明白为什么两个字符串都不匹配我的表达式。如何创建一个解析器元素,无论换行符发生在哪里,它都匹配文本?