在html代码中 python利用正则表达式提取数据问题
在下面这段html中,怎么利用正则表达式把“(SJ顺丰 051131145456)”中的单号“051131145456”提取出来,注意单号前有一个空格,单号长度不定,但是会在括号内。
我查了很多资料还是写不出来,正则表达式应该怎么样写??
能详细解释下正则表达式的句义吗
<div> <table style="border: 1px solid #ECECEC; height: 125px; padding-left: 5px; padding-right: 5px; background-color: #EEF7FF; width: 100%">
<tr>
<td style="font-size: 20px; font-weight: bold; width: 252px; padding-top: 20px;">关注信公众号</td>
<td></td>
<td rowspan="2">
<img style="margin-top: 8px;" src="../Resources/Images/Box/qrcode_for_gh.jpg" /></td>
</tr>
<tr>
<td style="font-size: 14px; vertical-align: top;">您可以随时接收物流动态、为包裹付款、获取最新的活动信息。</td>
<td style="font-size: 14px; width: 260px; vertical-align: top;"><span style="font-size: 14px; float: right;">以最方便的方式玩转海淘></span><br />
<span style="font-size: 14px; float: right;">扫一扫,关注</span></td>
</tr>
</table>
</div>
<br />
<div class="main">
<input type="hidden" id="boxcount" value="1" />
<input id="tab1" type="radio" name="tabs" style="display: none;" checked="checked"
/>
<label for="tab1"><a style="cursor: pointer;">XJ202002232539531</a></label>
<section id="content1">
<p class="tc mt20"></p>
<div class="result-top"><span class="col1">时间</span><span class="col2">地点和跟踪进度</span></div>
<table class="result-info2" cellspacing="0">
<tbody>
<tr class="last">
<td class="row1">2020/3/8 10:12:11</td>
<td class="status status-first"> </td>
<td>已发货:(SJ顺丰 051131145456) <a target = "_blank" href="http://www.kuaidi100.com/chaxun?com=shunfeng&nu=051131145456" style="text-decoration:none;" onclick="AddQuery()">国内物流查询>></a></td>
</tr>
<tr>
<td class="row1">2020/3/8 10:11:11</td>
<td class="status"> </td>
<td>已清关 </td>
</tr>
<tr>
<td class="row1">2020/3/5 13:58:00</td>
<td class="status"> </td>
<td>已到达清关口岸 </td>
</tr>
`
回答:
支持回顾后发断言的正则表达式引擎可以这样做:(?<=SJ顺丰\s)\d*
但是,回顾后发断言(lookbehind)由于存在回溯情况,JavaScript是不支持的。
那么可以分两次完成,第一次匹配SJ顺丰\s\d*
,然后在匹配结果中用\d*
去匹配单号。
回答:
点击查看匹配结果
正则如下:
(?<=SJ顺丰\s)\d+
回答:
可以解释下 (?<=SJ顺丰s)d+ 这个表达式的具体含义吗
以上是 在html代码中 python利用正则表达式提取数据问题 的全部内容, 来源链接: utcz.com/p/937775.html