我有这个
/([^\/\|\#\<\(\>\;\s][0-9]*[\s][KB]{2})
为了具体而言我必须使用 [KB] {2} 我得到了所需的值,但我可以将最终打印转换为MB吗?
例子:匹配= 2000KB = 2MB?
由于
答案 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)/