0

ウェブサイトのソースを解析していて、この正規表現を使用しています:

/page\.php\?id\=([0-9]*)\"\>(.*)\<\/a\>\<\/span\>/.match(self.agent.page.content)

self.agent.page.contentmechanize によって取得されたページのソースが含まれています。正規表現は基本的に機能しますが、ソースに複数の正規表現があり、正規表現が最後のものを使用するため、2番目の一致では必要以上にフェッチされるため、大量<\/a\>\<\/span\>のhtmlがらくたが発生します。最初の一致を「終了マーカー」として使用するように正規表現に指示するにはどうすればよいですか?

4

1 に答える 1

4

.* は貪欲ですが、.*? 非貪欲です。試す:

/page\.php\?id\=([0-9]*)\"\>(.*?)\<\/a\>\<\/span\>/.match(self.agent.page.content)
于 2012-04-05T17:57:01.223 に答える