次の形式からデータを取得する php で正規表現を作成しようとしています。
"1,2,3;7,1,3;1" returns an $matches array with "(1,2,3,7,1,3,1)"
"1" returns an $matches with "(1)"
"1;1;3;5;7;10;999" returns an $matches array with "(1,1,3,5,7,10,999)"
"1,1,1;2,5;3,4" doesn't pass since numbers are repeating within semicolon boundaries
"2,3,4;5,;" doesn't pass since it doesn't satisfy the format.
(例の引用符は、読みやすくするためにあります。実際の結果には表示されません。)
形式は、コンマまたはセミコロンで区切られた数字であり、セミコロン内では互いに繰り返されません。他の形式を受け入れてはなりません。
試してみ/(^(\d{1,3})$)|(([0-9]+)([,|;]{1}[0-9]+)+)/
ましたが、うまくいきませんでした。私も試し/[0-9]+([,|;]{1}[0-9]+)+/
ましたが、どちらもうまくいきませんでした。$matches 配列を取得したとき、上記のように必要な値がありませんでした。
私はPHP 5.2でこれをやっています。ありがとう。