我想从文件中的列中获取一些信息,该列可能包含我感兴趣的可变数量的实例,请参阅下面的简单示例
chr8 + 120807654 121847348 Cdh13 unnamed (-46405)
chr2 + 167514414 167515918 Cebpb unnamed (+3335), unnamed (+89835)
我想在最后一列的括号中使用数字,稍后再做一些计算。现在我无法使用正则表达式来获取所有这些数字,因为有些行只有1个“未命名(###)”,而有些行有超过1.如何处理这个?
谢谢!
答案 0 :(得分:1)
试试这个:
while (<STDIN>) {
@matches = m/\(([+-]\d+)\)/g;
print join(",", @matches) . "\n";
}
/g
将匹配所有字词,因此您的所有数字都将位于@matches
数组中。