<p><code>.</code>不匹配换行符,除非设置<a href="https://docs.python.org/3/library/re.html#re.S" rel="nofollow">^{<cd2>} flag</a>:</p>
<pre><code>p = re.compile(' -\n(.*?)\n -\n(.*)', flags=re.DOTALL)
</code></pre>
<p>请注意,我从第二个<code>*</code>中删除了<code>?</code>;您需要第二个<code> -</code>之后的所有内容,而不仅仅是第一个1字符。你知道吗</p>
<p>根据文件:</p>
<blockquote>
<p><code>re.S</code><br/>
<code>re.DOTALL</code><br/>
Make the <code>'.'</code> special character match any character at all, including a newline; without this flag, <code>'.'</code> will match anything except a newline.</p>
</blockquote>
<p>但是,您可以只拆分<code> -\n</code>行上的文本;将其限制为两次拆分:</p>
<pre><code>yaml, text = text.split(' -\n', 2)[1:]
</code></pre>
<p>这会将文本拆分为前缀、YAML部分和其他部分。前缀被<code>[1:]</code>忽略。你知道吗</p>
<p>演示:</p>
<pre><code>>>> import re
>>> p = re.compile(' -\n(.*?)\n -\n(.*)', flags=re.DOTALL)
>>> p.search(text).groups()
('title: Quantes monedes de cèntim caben a un cercle?\nauthor: Dan Meyer\ndate: 2013-08-26\nabstract: Quantes monedes de cèntim caben a un cercle?\ntags: 3-acts\ncontinguts: àrea, cercle, ajustament de corbes, extrapolació, funció quadràtica, representació de funcions, \nrelatedto: []\nlang: ca', "\n\n[![Penny circle](./shot.png)](http://threeacts.mrmeyer.com/pennycircle/)\n\nQuantes monedes de cèntim caben a un cercle?\n\n## Recursos ##\n\n1. [Proposta original d'en Dan Meyer](http://blog.mrmeyer.com/2013/makeover-penny-circle/) ([localment](./media/activitats/meyer-penny-circle/dy_dan » Blog Archive » [Makeover] Penny Circle.htm))\n1. L'[activitat en tres actes](http://threeacts.mrmeyer.com/pennycircle/) d'en Dan Meyer ([localment](./media/activitats/meyer-penny-circle/pennycircle.zip))\n1. [Activitat a Desmos](https://teacher.desmos.com/pennycircle)\n")
>>> text.split(' -\n', 2)[1:]
['title: Quantes monedes de cèntim caben a un cercle?\nauthor: Dan Meyer\ndate: 2013-08-26\nabstract: Quantes monedes de cèntim caben a un cercle?\ntags: 3-acts\ncontinguts: àrea, cercle, ajustament de corbes, extrapolació, funció quadràtica, representació de funcions, \nrelatedto: []\nlang: ca\n', "\n\n[![Penny circle](./shot.png)](http://threeacts.mrmeyer.com/pennycircle/)\n\nQuantes monedes de cèntim caben a un cercle?\n\n## Recursos ##\n\n1. [Proposta original d'en Dan Meyer](http://blog.mrmeyer.com/2013/makeover-penny-circle/) ([localment](./media/activitats/meyer-penny-circle/dy_dan » Blog Archive » [Makeover] Penny Circle.htm))\n1. L'[activitat en tres actes](http://threeacts.mrmeyer.com/pennycircle/) d'en Dan Meyer ([localment](./media/activitats/meyer-penny-circle/pennycircle.zip))\n1. [Activitat a Desmos](https://teacher.desmos.com/pennycircle)\n"]
</code></pre>