0
我在正則表達式中創建了兩個命名的捕獲變量,第二個似乎沒有返回任何值,而第一個可以。我不知道爲什麼......這裏是代碼。Perl命名捕獲組
my $string = 'test [google] another test [windows]';
my $regex=qr/\w*\[{1}(?<firstBracket>\w+)\]{1}(?<secondBracket>\w*)/ip;
$string=~ /$regex/;
say $+{secondBracket};
我期待「secondBracket」將會返回。 我可以做$+{firstBracket}
,但不是第二個...有人可以幫忙嗎?
謝謝。
空間不是在你的模式描述。量詞{1}無用,請刪除它們。 –
不要在void上下文中使用'm //'。在使用任何捕獲變量之前,總是檢查匹配是否成功。 – melpomene