我有一个html代码:
text="""
<div class="ctn_row_wrap">
<ul class="ctn_row">
<li>
<label>isOrder:</label>
<p>---</p>
</li>
<li>
<label>type:</label>
<p>
---
</p>
</li>
<li>
<label>accountState:</label>
<p class="text_green">normal</p>
</li>
<li>
<label>isOnline</label>
<p class="text_green" id="onlineUser"><span id="otVal">Online</span>
<button class="btn_other_cs" id="queryOnlineUser">Refresh</button>
</p>
</li>
</ul>
<ul class="ctn_row">
<li>
<label>somethingelse:</label>
<p class="text_green">nothing</p>
</li>
</ul>
</div>
"""
我想通过使用"label String":"content"
模型将其作为re
。
这是我的python
代码:
pattern = re.compile('<label>(.*?)</label>.*?<p.*?(?<="otVal">)?>(.*?)(?=</span>|</p>)', re.S)
result = pattern.findall(text)
print(result)
我得到以下结果:
[('isOrder:', '---'), ('type:', '\n\t\t\t\t\t\t\t\t\t---\n\t\t\t\t\t\t\t\t'), ('accountState:', 'normal'), ('isOnline', '<span id="otVal">Online'), ('somethingelse:', 'nothing')]
“ ”是意外的, 有关我的代码的一些建议?