簡體   English   中英

Perl在2種模式之間獲取字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM