我有一个字符串变量,包含类似ABCD.asd.qwe.com:/dir1
。 我想提取ABCD
部分,即从.
开始到第一次出现的部分。问题是在.
之前几乎可以有任何长度的字符(只有字母数字)。所以我创建了这个正则表达式。Perl正则表达式提取子字符串?
if($arg =~ /(.*?\.?)/)
{
my $temp_name = $1;
}
但它给了我空白的字符串。逻辑是:
.*? - any character non-greedily
\.? - till first or none appearance of .
什么可能是错的?
您是否尝试提取'ABCD'或'ABCD.'?输入中是否会出现'.'? – ikegami 2013-05-06 09:25:18
我想只提取ABCD,不包括点。 – 2013-05-06 09:28:56
我的第二个问题呢。输入中是否总会有'.'? – ikegami 2013-05-06 10:08:15