2017-02-27 42 views
1

我有一句台词:如何不匹配行的某些部分的空格在Perl

$lines = AC P00450; Q14063; 

我需要使用正则表达式来匹配AC后到来字符串的一部分。我使用下面的代码:

if ($lines =~ /^AC(.*)/) { 
    print $1, "\n"; 
} 

,它给了我下面的输出:

P00450; Q14063; 

我该如何调整我的正则表达式,这样它不匹配AC后的空白,P00450之前和刚返回给我P00450; Q14063;没有在前面的空白?我知道我得到我的输出,因为。*匹配任何类型的字符。这基本上是我想要的,但没有P00450之前的空白。

+0

'if($ lines =〜/^AC \ s +(。*)/)'? – AntonH

+0

它是'$ line'还是'$ lines'?而你显示的正则表达式不匹配那个字符串,因为'^锚定在字符串的开头和'AC'没有出现在开头。 – Borodin

回答

0

排除一个或多个空格。

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