BeautifulSoup、特にreモジュールに「問題」があります。問題は次のとおりです。
import re
from bs4 import BeautifulSoup
string = """
<div id="my_id">
<ul>
<li>something</li>
<li class="color12">something</li>
<li class="color45">something else</li>
</ul>
</div>
"""
soup = BeautifulSoup(string)
li = soup.find_all('li', {'class': re.compile('color(\d+)')} )
for ele in li:
print ele['class'] # will print colorXXXX but i would like to know how to get only this XXXX
しかし、色の後に数字だけを抽出したいと思います。それは可能ですか、それとも次のようなものを使用する義務がありますか:
match = re.search(r'color(\d+)', str(ele['class']))
if match:
print match.group(1)
助けてくれてありがとう:)