我正在解析一个网站的源代码,并且正在使用这个正则表达式:
/page\.php\?id\=([0-9]*)\"\>(.*)\<\/a\>\<\/span\>/.match(self.agent.page.content)self.agent.page.content包含由mechanize获取的页面的源代码。正则表达式基本上可以工作,但在第二个匹配中,它确实获取了比它应该获取的更多的内容,因为源代码中有多个<\/a\>\<\/span\>,而正则表达式使用了最后一个,所以我得到了一堆html垃圾。如何告诉正则表达式将第一个匹配项用作“结束标记”?
发布于 2012-04-06 01:57:01
.*是贪婪的,而.*?是不贪婪的。尝试:
/page\.php\?id\=([0-9]*)\"\>(.*?)\<\/a\>\<\/span\>/.match(self.agent.page.content)https://stackoverflow.com/questions/10033414
复制相似问题