Python 在以下文本中找不到模式

Python 在以下文本中找不到模式,python,regex,Python,Regex,我有一个文件,其模式如下 | | ###O | | | | ###O | | | | #

我有一个文件,其模式如下


    | |                                
    ###O                               
    | |           | |                  
                  ###O                 
                  | |              | | 
                                   ###O
                                   | | 


我正试图找到上述所有模式。但我也被困在空行中。这是我的模式代码

(?:.+?)(\\\s\\(?:.+\n.+)\O)

更新:在爱玛的建议之后,
+?(\\\s\\\\\\)。+?\s+(\\35;###O)。+?\s+(\\124;\ s\\\124;)更新

仍然无法找到确切的模式

https://regex101.com/

可能会帮助您找到
###0


尝试下面的正则表达式,它将为您提供三组三个匹配项

\s*(\|\s\|)\s*(###O)\s*(\|\s\|)

测试链接:

这个正则表达式“\\\\s{1}\\\\\”将找到“\\\\”,我不认为您所要求的是仅使用
re
库是可能的。你需要一个函数。原因是第二个查询的
出现在同一行
|[LONG_SPACES]|
re
库不提供反向引用距离的方法,它只能反向引用模式。如果这些是在不同的行中,您可以很容易地反向引用特定数量的
空格
像这样
[\t]+(\\\\[\t]\\\\\\\\\\\\[\t]+\n.*\n[\t]+\\\\\\\\\[\t]\\\\\\code>可能会起作用
\s*(\|\s\|)\s*(###O)\s*(\|\s\|)