0

さて、ここに文字列があります

$string = "123456789_some_0.png";

私は現在、preg_matchを使用して、次のパターンを使用して「123456789」を取得しています。

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

文字列には2つの形式がありますが、この場合も同じ結果が得られます。

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

そして「12345789」を思い付くために、そして両方の場合からのみ、それをどのように行うのですか?

4

1 に答える 1

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
}

デモ

于 2012-09-07T01:00:43.457 に答える