小编And*_*rew的帖子

如何在Python中使用正则表达式匹配双换行符“\n\n”之前的所有内容?

假设我有以下 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”)

有人对此有什么想法吗?

python regex

4
推荐指数
1
解决办法
3721
查看次数

标签 统计

python ×1

regex ×1