正则表达式返回最后发现的模式?

时间:2010-11-20 13:34:54

标签: regex

我的正则表达式有问题。当我希望它返回最后一场比赛时,它会返回第一场比赛。

正则表达式:

(?si)&chg_id= *?(.*?)\"

正在搜索的字符串:

显示2010-05-04 11:21:00至2010-06-10 23:59:59期间的收费

<A HREF="index.php?function=view_all_mobile&plan_id=224158&chg_id=1861161"><P>Display the period 2010-06-11 00:00:00 to 2010-07-10 23:59:59</A>
<A HREF="index.php?function=view_all_mobile&plan_id=224158&chg_id=2033934"><P>Display the period 2010-07-11 00:00:00 to 2010-08-10 23:59:59</A>
<A HREF="index.php?function=view_all_mobile&plan_id=224158&chg_id=2217641"><P>Display the period 2010-08-11 00:00:00 to 2010-09-10 23:59:59</A>
<A HREF="index.php?function=view_all_mobile&plan_id=224158&chg_id=2411848"><P>Display the period 2010-09-11 00:00:00 to 2010-10-10 23:59:59</A>
<A HREF="index.php?function=view_all_mobile&plan_id=224158&chg_id=2615705"><P>Display the period 2010-10-11 00:00:00 to 2010-11-10 23:59:59</A>
<A HREF="index.php?function=view_all_mobile&plan_id=224158&chg_id=2830781"><P>Display the period 2010-11-11 00:00:00 to 2010-12-10 23:59:59</A>

我的表情是返回1861161,但我希望它返回2830781.

1 个答案:

答案 0 :(得分:0)

为什么不使用DOM解析器并抓取页面上的所有锚点(getElementsByTagName('a')),获取它们的href(getAttribute('href')),根据href值进行过滤,然后获取与之匹配的最后一个图案?