繁体   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