Regex 如何在perl中不匹配行的某些部分中的空格

Regex 如何在perl中不匹配行的某些部分中的空格,regex,perl,Regex,Perl,我有一句话: $lines = AC P00450; Q14063; 我需要使用正则表达式只匹配AC之后的字符串的一部分。我使用以下代码: if ($lines =~ /^AC(.*)/) { print $1, "\n"; } 它给了我以下输出: P00450; Q14063; 我如何调整我的正则表达式,使其不匹配AC之后、P00450之前的空格,只返回P00450;Q14063;前面没有空格?我知道我获得输出是因为.*匹配任何类型的字符。这基本上就是我想要的,但是在P

我有一句话:

$lines = AC   P00450; Q14063;
我需要使用正则表达式只匹配AC之后的字符串的一部分。我使用以下代码:

if ($lines =~ /^AC(.*)/) {
    print $1, "\n";
}
它给了我以下输出:

   P00450; Q14063;

我如何调整我的正则表达式,使其不匹配AC之后、P00450之前的空格,只返回P00450;Q14063;前面没有空格?我知道我获得输出是因为.*匹配任何类型的字符。这基本上就是我想要的,但是在P00450之前没有空格

排除一个或多个空白

if ($lines =~ /^AC\s+(.*)/)

排除一个或多个空白

if ($lines =~ /^AC\s+(.*)/)

如果($lines=~/^AC\s+(.*)/)
?是
$line
还是
$lines
?并且您显示的正则表达式模式将与该字符串不匹配,因为
^
锚定到字符串的开头,而
AC
不会出现在开头。
如果($lines=~/^AC\s+(.*)/)
?是
$line
还是
$lines
?您显示的正则表达式模式将与该字符串不匹配,因为
^
锚定到字符串的开头,而
AC
不会出现在开头。