perl如何提取字符型或或整形变量

 我来答
折柳成萌
高粉答主

2018-06-04 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6364万
展开全部
取指定字符之前的字符的方法是:
perl -nle 'if(/^start:/ or /^end:/){ # 匹配 flag
/([^:]+:)(.*)?\(?/; # 正则捕获$1,$2,其中$1是start: 或 end:,$2是'('之前的部分
if($1 eq "start:"){push @{$hash{$1}},$2;$s=$2;} # 如果$1是start:的话,存入key为$1,值为$2的hash中,另外,再保留一份$2给临时变量$s,
else{$hash{$s} = $1.$2} # 如果$1不是start:,即是end:, 则存入key为$s,值为$1.$2到hash中
};
END{
use Data::Dumper;
print Dumper \%hash; # 可以看下hash的结构是什么,应该会理解下面foreach的block部分
foreach (sort {$a cmp $b} @{$hash{"start:"}}){
print "start: ",$_,"\t",$hash{$_}
}
}' file
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式