如何使用输出将1024 KB转换为1 MB?

时间:2010-08-05 20:48:28

标签: regex

我有这个

/([^\/\|\#\<\(\>\;\s][0-9]*[\s][KB]{2})

为了具体而言我必须使用 [KB] {2} 我得到了所需的值,但我可以将最终打印转换为MB吗?

例子:匹配= 2000KB = 2MB?

由于

2 个答案:

答案 0 :(得分:1)

当然可以;分别捕获单位和数字:

/[^\/\|\#\<\(\>\;\s]([0-9]*)[\s]([KB]{2})

当然,假设您的原始正则表达式是正确的。然后:

if ($2 eq "KB" && $1 > 1024) {
    $1 /= 1024;
    $2 = "MB";
}

答案 1 :(得分:0)

lol sting "2000 KK"你的正则表达式匹配

$1 = 000
$2 = KK

最好试试这个;)

/(\d+)\s*(KB)/