Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Perl获取两种模式之间的字符串_Regex_Perl - Fatal编程技术网

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>>有什么问题[^