【发布时间】:2013-10-25 04:57:26
【问题描述】:
我收到一个关于解析向量的问题,其中包含如下字符串:
"chr1-247751935-G-.:M92R,chr1-247752366-G-.:R236G,"
"chr1-247951785-G-.:G98K,"
"chr13-86597895-S-78:M34*,chr13-56891235-S-8:G87K,chr13-235689125-S-7:M389L,"
我想得到:
"M92R R236G"
"G98K"
"M34* G87K M389L"
当我使用时
while ($info1=~s/^(.*)\:(([A-Z\*]){1}([\d]+)([A-Z\*]){1})\,//)
{
$pos=$2;
}
结果$pos只给我每一行的最后一个,即:
"R236G"
"G98K"
"M389L"
我应该如何更正脚本?
【问题讨论】:
-
欢迎来到 Stack Overflow。请尽快阅读 [bout] 页面。请注意,通过选择行,然后使用编辑框上方的
{}按钮将其缩进,它有助于将代码(通常也是数据)格式化为“代码”。 -
{1}符号不是必需的;可以在不更改正则表达式的情况下省略它(因为没有它,之前的模式将需要一次)。
标签: regex perl while-loop