这可能很简单,但我似乎无法做到。
我需要从此字符串中提取5.5.8
:
XM.ar7240.v5.5.8.20795.140123.1700
编辑:我的正则表达式真的很生气,所以我真的不知道从哪里开始。我试图计入第12个位置然后拉出接下来的5个字符,但这根本不起作用。
preg_match("/{0,12}[^*]/", $firmware_version, $matches);
{
print_r($matches);
}
我能够使用它,但有时版本是5.5.9或5.6.2等......
preg_match("/5.5.8/", $firmware_version, $matches);
{
print_r($matches);
}
编辑2:
这得到了正确答案:想知道是否有更好的方法吗?
preg_match("/(.{0,11})(.{0,5})/", $firmware_version, $matches);
{
$firmware_version_short = $matches[2];
}
答案 0 :(得分:1)
$str =' XM.ar7240.v5.5.8.20795.140123.1700 ';
preg_match_all('![a-z][0-9]+.[0-9]+.[0-9]+!', $str, $matches);
print_r($matches);