如何在字符串中preg_match某个数字串

时间:2015-07-30 22:13:13

标签: php regex preg-match

这可能很简单,但我似乎无法做到。

我需要从此字符串中提取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];
  }

1 个答案:

答案 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);