2010-02-11 208 views

回答

3

像這樣的事情可能?

SELECT `email` 
FROM `users` 
WHERE `email` 
REGEXP '[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}' 
GROUP BY `email` 

正則表達式來自here。正如該網站指出的,這可能不符合所有有效的電子郵件(即不明確的電子郵件)。我最後一次查看它時,我不確定是否有人創建了一個可以匹配每個可能的電子郵件地址的正則表達式。

+1

如果你要使用正則表達式,爲什麼不使用全所提供的同一頁面上? (:[A-Z0-9#$%& '* +/=^_'{|}〜 - +(?!\ [A-Z0-9#$%&!]'?* +/?=^_'{|}〜 - ] +)* |「(?:[\ x01- \ X08 \ X0B \ X0C \ x0e- \ X1F \ X21 \ x23- \ x5b \ x5d- \ 0x7F部分] | \\ [\ x01- \ X09 \ X0B \ X0C \ x0e- \ 0x7F部分])*「)@(:(:[α-Z0-9](:???[A-Z0-9 - ] * [A-Z0 ?-9])\)+ [A-Z0-9](:???[A-Z0-9 - ] * [A-Z0-9])| \ [(:(?: 25 [O- 5] | 2 [0-4] [0-9] |?[01] [0-9] [0-9])\){3}(?: 25 [0-5] | 2 [0 -4] [0-9] | [01] [0-9] [0-9] | [A-Z0-9 - ] * [A-Z0-9]:???(:[\ x01- \ x08 \ x0b \ x0c \ x0e- \ x1f \ x21- \ x5a \ x53- \ x7f] | \\ [\ x01- \ x09 \ x0b \ x0c \ x0e- \ x7f])+)\]) – 2010-02-11 20:02:20

+0

那還沒有完整的一個,全長是6300+字符長 – 2010-02-11 20:03:22

+0

這是完美的,我沒有真正想到正則表達式。謝謝! – jwzk 2010-02-11 20:07:01

1

您無法檢查電子郵件是否對mysql有效。

您可以用不同的選擇選擇所有獨特的電子郵件:

SELECT DISTINCT `e-mailadress`FROM `table1` //something like this 
1

如果你希望他們的號碼,你會怎麼做

SELECT COUNT(DISTINCT('EMAIL')) FROM 'TABLE' 
+0

我確實需要知道在這種情況下它們是否有效。 – jwzk 2010-02-11 20:02:26

+1

您可以使用下面建議的正則表達式... – t00ny 2010-02-11 20:04:20

相關問題