我有一些字符串,例如下面的字符串,用于投资俱乐部项目(我是非技术人员)。
可能的字符串:
$EXPE - Analysts' Actions: TZOO, MSFT, GOOG, ....
$V - Analysts' Actions: TZOO, MSFT, GOOG, ....
$HPQ - Analysts' Actions: TZOO, MSFT, GOOG, ...
我想从上面的行中提取"EXPE"
,"V"
,"HPQ"
以及符号可能为1-4个字符的其他类似字符串(例如$ V,$ GOOG,$ VMW)等
我只能提取公司符号是否为固定长度 - 任何指针?
答案 0 :(得分:2)
试试这个:
^\$([A-Z]{1,4})
这将从字符串的开头查找$
,后跟1到4个大写的a-z字符。
您可以在此处详细了解{1,4}
量词和其他元字符:http://www.regular-expressions.info/reference.html
答案 1 :(得分:1)
my $string = q<$EXPE - Analysts' Actions: TZOO, MSFT, GOOG>;
my ($company_symbol) = $string =~ /^\$([A-Z]{1,4})/;
print "got $company_symbol from $string\n";
答案 2 :(得分:1)
这将从行
中提取所有符号# you also need to check word boundaries.
my @symbols = $string =~ m/(\b[A-Z]{1,4}\b)/g
显然我无法正确阅读这个问题。
my $symbol = $string =~ /\$([A-Z]+)/;
其他人都是正确的。