有两个条件我正试图满足一个正则表达式正在刮html上使用。所有示例代码都是字符串:
<p>40% flights: Private bookings 20-15% bonus: Private airfairs 10% Excellence: Public Vacation 5-0% persons: Public Sightseeing</p>
我使用的re.findall(r'\d+%', ex_string)
产生:
['40%'、'15%'、'10%'、'0%']
但是在20-15%的情况下,我需要在输出中得到20-15%,而不是仅仅15%
<table border="0" style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 50%;">85%</td>
在这里使用re.findall(r'\d+%', ex_string)
可以得到['100%,'85%],但是我只想要'width'不在前面的百分比
第二个例子的期望结果是['85%']
需要做哪些修改才能同时满足这两个要求
使用HTML解析器将使这更简单。如果你想要一个正则表达式的解决方案,消极的向后看可能是一种方法
也就是说
width:
和\d
不应该在(\d+%|\d+\-\d+%)
之前输出:
相关问题 更多 >
编程相关推荐