2012-11-09 39 views
1

這個正則表達式用於驗證電子郵件地址,但它不包括apostrophy('),它是電子郵件地址的第一部分中的有效字符。 我已經嘗試過自己並嘗試使用一些我發現的例子,但它們不起作用。我想修改這個正則表達式來包含撇號

^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ 

如何稍微修改它以支持'字符(apostraphy)?

^([\w-\.]+)@ 

你應該能夠撇號添加到的有效括號:

+0

的可能重複[正則表達式查找和逃避撇號(http://stackoverflow.com/questions/4746460/regex -to-查找和逃避撇號) –

回答

1

每一個電子郵件地址的文件,撇號可以在@符號,這在當前的正則表達式是之前的任何地方出現人物:

^([\w-\.']+)@ 

這將使整個正則表達式:

^([\w-\.']+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ 

編輯(正則表達式包含在單引號)
如果你使用單引號,如PHP中$regex = '^([\w ...在字符串中這個表達式,你需要逃脫單引號中的正則表達式與\'

^([\w-\.\']+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ 
0

您需要更新的第一部分如下:

^([\'\w-\.]+)