我基本上是想捕获网站上的最新订单,但是使用正则表达式,所有订单都被捕获了。
我尝试过的正则表达式是:
(?<=<td class="date">\n)(.*)(?=<\/td>)
这是文字
</td>
<td class="date">
24.12.18</td>
<td class="oTotal">
0,00 €</td>
<td class="statusPayment">
还有更多这样的行,这使得不可能只捕获第一个。期待您的建议。谢谢!
答案 0 :(得分:0)
您可以使用与正则表达式匹配的正则表达式,使用先行记录来捕获组1中所需的日期,然后使用.*
来捕获其余内容,因此没有第二个匹配项。
(?s)<td class="date">\s*([\d.]*)(?=<\/td>).*
此处(?s)
用于启用点匹配新行。
编辑:捕获数据和价格
您可以使用此正则表达式捕获组1中的日期和组2中的价格,
(?s)<td class="date">\s*([\d.]*)<\/td>\s*<td\s+class="oTotal">\s*(.*?)<\/td>.*