Regex Perl获取两种模式之间的字符串
我有一个日志文件多次出现这种模式:Regex Perl获取两种模式之间的字符串,regex,perl,Regex,Perl,我有一个日志文件多次出现这种模式: Toggle('AFDACAAAAAIAAAA')" class="Failure">ABC</a> Toggle('afdacaaaaaaaaaa')“class=“Failure”>ABC 我有这个代码行来获取具有这个模式的整行代码 但是我只对ABC字符串感兴趣(可能是任何其他字符串) 如果$line=~/Toggle\('[A-Z]*'\)“class=“Failure”>.*/g,则打印“$line”; 我可以用正则表达式实现
Toggle('AFDACAAAAAIAAAA')" class="Failure">ABC</a>
Toggle('afdacaaaaaaaaaa')“class=“Failure”>ABC
我有这个代码行来获取具有这个模式的整行代码
但是我只对ABC字符串感兴趣(可能是任何其他字符串)
如果$line=~/Toggle\('[A-Z]*'\)“class=“Failure”>.*/g,则打印“$line”;
我可以用正则表达式实现吗?捕获您想要的位。它的售价是1美元。(哦,你不需要
/g
)
如果$line=~/Toggle\('[A-Z]*'\)“class=”Failure“>(.*),则打印$1;
捕获您想要的位。它将是
$1
(哦,您不需要/g
)
如果$line=~/Toggle\('[A-Z]*'\)“class=”Failure“>(.*),则打印$1;
捕获您想要的位。它的售价是1美元。(哦,你不需要
/g
)
如果$line=~/Toggle\('[A-Z]*'\)“class=”Failure“>(.*),则打印$1;
捕获您想要的位。它将是
$1
(哦,您不需要/g
)
如果$line=~/Toggle\('[A-Z]*'\)“class=”Failure“>(.*),则打印$1;
如果您不想使用捕获组,可以使用前瞻和
\K
锚定:
print $& if $line =~ /Toggle\('[A-Z]*'\)" class="Failure">\K.*(?=<\/a>)/;
print$&if$line=~/Toggle\('[A-Z]*')”class=“Failure”>\K.*(=)/;
\K
基本上会丢弃之前匹配的所有内容,但它仍然必须匹配。如果您不想使用捕获组,可以使用前瞻和\K
锚定:
print $& if $line =~ /Toggle\('[A-Z]*'\)" class="Failure">\K.*(?=<\/a>)/;
print$&if$line=~/Toggle\('[A-Z]*')”class=“Failure”>\K.*(=)/;
\K
基本上会丢弃之前匹配的所有内容,但它仍然必须匹配。如果您不想使用捕获组,可以使用前瞻和\K
锚定:
print $& if $line =~ /Toggle\('[A-Z]*'\)" class="Failure">\K.*(?=<\/a>)/;
print$&if$line=~/Toggle\('[A-Z]*')”class=“Failure”>\K.*(=)/;
\K
基本上会丢弃之前匹配的所有内容,但它仍然必须匹配。如果您不想使用捕获组,可以使用前瞻和\K
锚定:
print $& if $line =~ /Toggle\('[A-Z]*'\)" class="Failure">\K.*(?=<\/a>)/;
print$&if$line=~/Toggle\('[A-Z]*')”class=“Failure”>\K.*(=)/;
\K
基本上会丢弃之前匹配的所有内容,但它仍然必须匹配。>[^code>>有什么问题[^code>>有什么问题[^code>>[^code>>有什么问题[^