RegEx在两种情况下都使用一个?

时间:2012-09-07 00:53:10

标签: php regex preg-match

好吧,这是字符串

$string = "123456789_some_0.png";

我目前使用preg_match使用以下模式获取“123456789”:

$pattern = "/[0-9]*/i";

好吧,字符串有2种格式,我想在这种情况下得出相同的结果:

$string = "1234-123456789_some_0.png";

并提出“12345789”并且仅从两种情况中, 怎么做?

1 个答案:

答案 0 :(得分:2)

假设您要捕获后跟下划线的所有数字,您可以使用以下内容:

$strings = array("1234-123456789_some_0.png", "123456789_some_0.png");
foreach ($strings as $string) {
  preg_match("/([0-9]+)_/", $string , $matches);
  echo $matches[1], PHP_EOL; // 123456789
}

<强> DEMO