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


RegEx use one for both cases?

好吧,这是字符串

$string = "123456789_some_0.png";

我目前使用preg_match获取"123456789",使用以下模式:

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

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

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

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

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

$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
}

演示

相关文章: