[英]Perl get string between 2 patterns
我有一個多次使用此模式的日志文件:
Toggle('AFDACAAAAAIAAAA')" class="Failure">ABC</a>
我有此代碼行來獲得具有此模式的整行,但我只對ABC字符串感興趣(可能是其他任何字符串)
print "$line" if $line =~ /Toggle\('[A-Z]*'\)" class="Failure">.*<\/a>/g;
我可以用正則表達式來做嗎?
如果您不想使用捕獲組,則可以使用前瞻和\\K
錨:
print $& if $line =~ /Toggle\('[A-Z]*'\)" class="Failure">\K.*(?=<\/a>)/;
\\K
基本上會丟棄之前已匹配的所有內容-但仍必須匹配。
捕獲所需的位。 它將在$1
。 (哦,您不需要/g
。)
print $1 if $line =~ /Toggle\('[A-Z]*'\)" class="Failure">(.*)<\/a>/;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.