我正在尝试找到介于字符串之间的子字符串。第一个字符串为<br>
,最后一个字符串为<br><br>
。我寻找的第一个字符串是重复的,而后面的字符串可以用作锚点。
这里是一个例子:
<div class="linkTabBl" style="float:left;padding-top:6px;width:240px">
Anglo American plc
<br>
20 Carlton House Terrace
<br>
SW1Y 5AN London
<br>
United Kingdom
<br><br>
Phone : +44 (0)20 7968 8888
<br>
Fax : +44 (0)20 7968 8500
<br>
Internet :
<a class="pageprofil_link_blue" href="http://www.angloamerican.com" target="_blank">
http://www.angloamerican.com
</a>
<br>
</div>
我正在尝试获得“英国”。我很想通过字符串操作来获取此字符串,但是如果有人可以通过Beautifulsoup(最好使用css_selector)来获取它,那么它也会被插入。
祝一切顺利。
import re
html = """<div class="linkTabBl" style="float:left;padding-top:6px;width:240px">
Anglo American plc
<br>
20 Carlton House Terrace
<br>
SW1Y 5AN London
<br>
United Kingdom
<br><br>
Phone : +44 (0)20 7968 8888
<br>
Fax : +44 (0)20 7968 8500
<br>
Internet :
<a class="pageprofil_link_blue" href="http://www.angloamerican.com" target="_blank">
http://www.angloamerican.com
</a>
<br>
</div>"""
res = re.findall(r'<br>\n ([a-zA-Z\s]+)?\n <br><br>', html)
print(res)
注: “ \ n”是换行符,从到要查找的再次有4个空格。因此,如果您有类似这样的内容:
...
<br>United Kingdom<br><br>
...
您应该替换
res = re.findall(r'<br>\n ([a-zA-Z\s]+)?\n <br><br>', html)
通过
res = re.findall(r'<br>([a-zA-Z\s]+)?<br><br>', html)
这里有很好的正则表达式课程https://regexone.com/