假设我有以下 Python 字符串
str = """
....
Dummyline
Start of matching
+----------+----------------------------+
+ test + 1234 +
+ test2 + 5678 +
+----------+----------------------------+
Finish above. Do not match this
+----------+----------------------------+
+ dummy1 + 00000000000 +
+ dummy2 + 12345678910 +
+----------+----------------------------+
"""
Run Code Online (Sandbox Code Playgroud)
我想匹配第一个表中的所有内容。我可以使用从开始匹配的正则表达式
"Start"
Run Code Online (Sandbox Code Playgroud)
并匹配所有内容,直到找到双换行符
"Start"
Run Code Online (Sandbox Code Playgroud)
我在另一篇 stackoverflow 帖子中找到了一些有关如何执行此操作的提示(如何在正则表达式中匹配“直到此字符序列的任何内容”?),但它似乎不适用于双换行符情况。
我想到了下面的代码
\n\n
Run Code Online (Sandbox Code Playgroud)
基本上在哪里
pattern = re.compile(r"Start[^\n\n]")
matches = pattern.finditer(str)
Run Code Online (Sandbox Code Playgroud)
表示匹配所有内容,直到找到字符 x。但这仅适用于字符,不适用于字符串(在本例中为“\n\n”)
有人对此有什么想法吗?