2011-12-29 17 views
2

から4桁を超える数字を抽出します。preg_match_all( '/(\ d {4})/'、$ text、$ matches);文字列PHP正規表現

上記の関数を使用して、与えられた文字列から正確な4桁の数字を抽出することができます。

はどのように

は正規表現で最小の長さを指定する方法があります。..正規表現を使用して4桁の数字を上回る含まれている数字を抽出することができますか?

+0

preg_match_all( '/(\ d {4、})/'、$ text、$ matches)を試してください。それは働いていますか? – Oleg

+0

これは、PHPで文字列から電話番号を削除する場合に非常に役立ちます。 –

答えて

5

はい、あなたが最小の長さを指定することができる:

/(\d{4,})/ 

ブレース構文は、単一の番号(あなたが使用される)と一致するように繰り返しの正確な数を示すを受け入れ、それはまた、最小値と最大値を指定することができ一致する繰り返しの数をコンマで区切って指定します。この答えのように、最大​​値を省略した場合(カンマは省略)、最大値は無限になります。だから、

\d{4,} 

:最小はまた、明示的にこのような何かをお勧めします0

+0

はいうまく動作します。また、preg_match_all( '/(\ d {4、})/'、$ text、$ matches); $ matchesは2つの配列に同じ結果が含まれています。私をガイドしてください。 –

+0

@Muthu:申し訳ありませんが、PHP(単なる正規表現)は分かりません。別の質問をする;-) – Cameron

+1

配列の最初の要素は完全一致、2番目は括弧内の一致(最初の取得)です。配列内の単一要素のかっこを削除するか、どちらかのインデックスを使用します。 –

1

の最小値を指定するのと同じである、省略することができ

preg_match_all('#(\d{4,})#', $text, $matches); 

注意をそのIここで区切り文字として#を使用し、私はそれが簡単に:)

+0

それはすべての数字を4文字に分ける –

+0

あなたのコードから '、'を残しておきます:P –

1

\ dの{4、}

を見て見つけます

する必要があります。これは最小値を4に設定します。

1
preg_match_all('/(\d{4,})/', $text, $matches);