需查找的内容:
<td class="abcde:0:no_22" style="white;"><center>需要提取的内容1</center>
<td class="abcde:1:no_22" style="white;"><center>需要提取的内容2</center>
<td class="abcde:2:no_22" style="white;"><center>需要提取的内容3</center>
#使用这条匹配返回结果为空
'''no_222" style="white;"><center>(.*)</center>'''
#使用这条匹配能正常查到匹配条件的内容
'''no_222" style="white;">'''
#使用这条匹配返回结果就为空了
'''no_222" style="white;"><'''
import re
txt ='''
<td class="abcde:0:no_22" style="white;"><center>需要提取的内容1</center>
<td class="abcde:1:no_22" style="white;"><center>需要提取的内容2</center>
<td class="abcde:2:no_22" style="white;"><center>需要提取的内容3</center>
'''
res = re.findall(r':no_22" style="white;"><center>(.*?)</center>',txt)
print(res)
输出结果
['需要提取的内容1', '需要提取的内容2', '需要提取的内容3']
是要找<center>需要提取的内容1,还是需要提取的内容1?
import re
html='''
<td class="abcde:0:no_22" style="white;"><center>需要提取的内容1</center>
<td class="abcde:1:no_22" style="white;"><center>需要提取的内容2</center>
<td class="abcde:2:no_22" style="white;"><center>需要提取的内容3</center>
'''
result = re.findall('no_22" style="white;"><center>(.*?)</center>',html,re.S)
print(result)
两个含符号的字符段也不一定是center吧?
既包括了中间的center,而且也提出了后面的内容的代码如下:
import re
html = '''
<td class="abcde:0:no_22" style="white;"><center>需要提取的内容1</center>
<td class="abcde:1:no_22" style="white;"><center>需要提取的内容2</center>
<td class="abcde:2:no_22" style="white;"><center>需要提取的内容3</center>
'''
result = re.findall('td.*?<center>(.*?)</center>', html, re.M)
print(result)
re.findall(
r'<td class="abcde:\d+:no_22" style="white;"><center>(.*)</center>', t)