不知道如何發生這種情況,但似乎我的perl正則表達式匹配不會更新到下一個匹配,匹配後。它不會更新每個匹配的$ &和$ 1變量,而是會陷入第一個變量。Perl不更新到下一個匹配
我到處都是眼睛,發現這非常令人沮喪。
查看下面調試器的輸出,如您所見,第一個匹配是有意義的,但第二個匹配不適用。
感謝
DB<79> $riz =~ m{url=(.*?)Support};
DB<80> p$&;
url="http://www.svartapelsin.se" draggingName="Bunny Camp Support
DB<81> $riz =~ m{href=(.*artist?)};
DB<82> p $&;
url="http://www.svartapelsin.se" draggingName="Bunny Camp Support
DB<83>
更新: 這裏的顯示文本「藝術家」是字符串中另一個樣品,但現在還沒有找到它。 $ riz的值是一個巨大的HTML代碼,所以很難發佈。
DB<103> $riz =~ m{url=(.*?)Support};
DB<104> p $&;
url="http://www.svartapelsin.se" draggingName="Bunny Camp Support
DB<105> $riz =~ m{artist};
DB<106> p $&;
url="http://www.svartapelsin.se" draggingName="Bunny Camp Support
DB<107> p string.index($riz,"artist");
string105
DB<108>
我的$ RIZ是在這個環節的所有HTML http://itunes.apple.com/us/app/id385972277
當您使用的用戶代理 的iTunes/10.2(在Macintosh; U; PPC的Mac OS X 10.2)
下面是另一個相同的示例$ riz
DB<128> $riz =~ m/.*/;
DB<129> p $&;
url="http://www.svartapelsin.se" draggingName="Bunny Camp Support
DB<130>
...
DB<136> p substr $riz,0,20;
<?xml version="1.0"
DB<137>
我的意思是,這不是很荒謬嗎?它應該只輸出$ riz no的值?正如你可以看到的是所顯示的不同形式。另外,m /.*/怎麼可能不是一個有效的正則表達式?
請問您可以顯示$ riz嗎? –
$ riz的價值是多少? – Ben
如果$ riz不匹配,那麼'$&'不會被修改。 –