我试图从下面的给定字符串中提取一些信息
>>> st =
... <!-- info mp3 here -->
... 192 kbps<br />2:41<br />3.71 mb </div>
... <!-- info mp3 here -->
... 3.49 mb </div>
... <!-- info mp3 here -->
... 128 kbps<br />3:31<br />3.3 mb </div>
...
>>>
现在当我使用下面的正正数时 我的输出是
>>> p = re.findall(r <!-- info mp3 here -->s+(.*?)<br />(.*?)<br />(.*?)s+</div> ,st)
>>> p
[( 192 kbps , 2:41 , 3.71 mb ), ( 128 kbps , 3:31 , 3.3 mb )]
但我需要的产出是
[( 192 kbps , 2:41 , 3.71 mb ),(None,None, 3.49mb ), ( 128 kbps , 3:31 , 3.3 mb )]
因此,我的问题是,我如何更改上面的 regex
来匹配所有条件。 我相信,我目前的regex 严格依赖于 lt;br/>
标签,所以我如何以该标签为条件。
我知道我不应该用regex 来分析 html,但现在这是我最合适的方法。