【PHP 正規表現】


「入力」1,2,3.4.5#6>7?8_9 10
「出力」配列[0]=1 配列[1]=2 配列[2]=3 ..........配列[9]=10

正規表現を勉強し始めたばかりで上記を満たす正規表現ができず困っています。
誰か、PHPでどのような正規表現を書けば良いか、教えていただけないでしょうか。
また上記が不可能な場合、良い代替案はありますでしょうか。
宜しくお願いします。

(例)ereg("ab?c", $var);

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2008/04/05 17:13:21
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kent013 No.1

回答回数38ベストアンサー獲得回数7

ポイント60pt

http://jp.php.net/manual/ja/function.split.php

を使うといいのではないでしょうか.

<?php
$str = '1,2,3.4.5#6>7?8_9 aaaa10';

$result = split("[^0-9]+", $str);
var_dump($result);
?>
[^0-9]+

は0,1,2,3,4,5,6,7,8,9(0-9)ではない(^)文字の一回以上連続(+)を表現しています.

id:fashion0208

早速の回答ありがとうございました。

完璧です。

2008/04/05 17:12:42
  • id:fashion0208
    fashion0208 2008/04/05 17:17:25
    preg_match_allを使ってもいけるということが分かりました。
    が、split関数がスマートですね。
    本当に有り難う御座いました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません