在变量$hobbit
中,我存储了值“Emulex LPe16000”。
现在,我需要一个正则表达式来匹配“Emulex”之后的值的“LPe16000”部分。
请忽略任何语法错误,我是perl的新手。
$hobbit="Emulex LPe16000"
if ($hobbit = ~m/Emulex ^\w+$/)
print "lol";
最佳答案
^
表示断言字符串的开头。如果将其移到开头,则可以匹配Emulex
,后跟一个空格,并利用\K
忘记匹配的内容。
然后匹配1个以上的单词字符\w+
并断言字符串$
的结尾
^Emulex \K\w+$
Regex demo | Perl demo
如果要打印匹配项,您的代码可能如下所示:
my $hobbit="Emulex LPe16000";
if ($hobbit =~ m/^Emulex \K\w+$/) {
print $&;
}