2011-01-17 42 views
0

2つの日付の間にあるレコードを検索するためにデータベースを照会する必要があります(これは十分単純です)。しかし、電子メールが特定の制約内にあるレコードのみを見つけるように検索を絞り込む必要があります。 2つの日付の間に落ち、基本的に私は完全な停止が続く文字で始まるメールアドレスを探して、5を持っている必要がありますmySQL文字列の一致

[email protected]

の形式を持っている任意の行を削除する必要があります@記号の前の数字。これはmySQLで可能ですか?もしそうなら、どうすればPHPでこれらの電子メールアドレスを検索できますか?

+1

正確5数@前に存在しなければならない、または任意の他のチャー月が存在します。そのようなタイプの電子メールアドレスの例を挙げてください。 – Gaurav

答えて

1

正規表現を使用する必要があります。 MySQL 5.1はこれらをサポートしています:documentation page。これはPHPでpreg_matchを使用して行うこともできます。

あなたはregurlar式は次のようになります。あなたはそれが便利場合にも、同様に使用することができ[a-zA-Z]\.[a-zA-Z]+[0-9]{5}@.+

0

。例

LIKE '[email protected]______.___' 

ただし、数値は検出されません。正規表現は、このようにする必要があり、あなたが正規表現を使用する必要があり、その場合に

docs

:(上記の例から変更)

[a-zA-Z]{1}\.[a-zA-Z]+[0-9]{5}@([_a-z0-9\-])\.[a-zA-Z]