作者bwtalk (是黑是白)
看板Perl
标题[问题] 正规表示式问题
时间Mon Aug 20 14:08:51 2012
请问一下~
有一串字串如下
LOC_Os02g10710
(tab)P$O2_03
(tab)1063
(tab)-
(tab)1.000
(tab)0.930
(tab)XXXX
各项data被tab键隔开
想要取出前三项做处理(LOC_Os02g10710、P$O2_03、1063)
该怎麽用正规写比较漂亮..?
我是写成如下,但是写法感觉笨笨的="=
$name =~ /(.*)\t(.+)\t(.+)\t(.+)\t(.+)\t(.+)\t.*\s/;
print $1; #印出第一项
print $2; #印出第二项
print $3; #印出第三项
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.1.134
1F:→ timmerix:怎麽不用split? 08/20 14:22
2F:→ happyfuture:都用tab分好了,用split就好了 08/20 15:16
3F:→ abliou:print $_ for (@{[split"\t",$name]}[0..2]) ; 08/20 17:12
4F:推 sixth:($str1, $str2, $str3) = $name =~ /^正规表示示/; 08/20 20:57
5F:→ bwtalk:谢谢大家~ 08/24 16:33
6F:→ bwtalk:split好用~ 感谢推荐 09/02 21:36