2013-03-05 176 views
0

我被困在驗證正則表達式中使用正則表達式捕獲電子郵件的特定用戶名

http://regexone.com/example/2

我面對的問題是我必須在提供的電子郵件地址中捕獲特定的用戶名。 以下是郵件列表,文本使用正則表達式來捕獲:

電子郵件

  1. [email protected]

  2. [email protected]

  3. [email protected]

  4. [email protected]

  5. [email protected]

  6. [email protected]

  7. [email protected]

文本中的每個電子郵件地址捕捉:

  1. tom

  2. tom.riddle

  3. tom.riddle

  4. 湯姆

  5. 陶工

  6. 哈里

  7. hermoine

+0

我用下面的正則表達式: ^([\ w。] +)@ [AZ] + \ [AZ] {2} \ [AZ] + $ 但接下來的電子郵件。?。?沒有驗證: [email protected] [email protected] – codeLearner 2013-03-05 08:00:35

+0

它解決了! :-)我使用的表達式是:^([\ w。] +)。*?@ [az] + \。[az] {2}?\。?[az] + $ – codeLearner 2013-03-05 08:18:35

回答

1

這個簡單的正則表達式捕獲「字字符或點」的第一個完整的序列:

^[\w.]+ 

此正則表達式的細目:

  • ^輸入的開始
  • [打開字符類
  • \w「字符字符」與[a-zA-Z0-9_]相同
  • .字面點(當一個字符類中)
  • ]關閉字符類
  • +一個或多個前面的表達式

注意(大多數)字符失去內其特殊含義角色類,所以沒有必要逃離點。

我測試了它鏈接的網站上,這部作品:)

+0

感謝您的評論,但我仍然不明白它的確切含義。你可以請進一步說明一下,因爲我是新的正則表達式。 – codeLearner 2013-03-05 07:39:10

+0

你是什麼意思「逃離點」? – codeLearner 2013-03-05 08:14:52

+0

我已經使用你的解決方案解決了這個問題,我的正則表達式是:^([\ w。] +)。*?@ [az] + \。[az] {2}?\。?[az] + $ – codeLearner 2013-03-05 08:20:08

0

你可以使用這個表達式:

([a-z\.]+) 

這意味着捕獲所有的小寫字母和點字符。

注意:爲了正確的電子郵件驗證,它需要一些更多的東西,但是這會通過你鏈接的測試。

+0

您不需要爲了避開點 – Bohemian 2013-03-05 07:11:05

+0

我知道,但我發現它更加一致,也可以在char類中轉義它,並且它更容易複製或移入和移出char類。 – 2013-03-05 07:33:28

0

試試這個請

([0-9A-ZA-Z ._] +)+?\ S * @

它將在+之前捕獲所有符號,如果我們有,或者在@符號之前,如果我們在這裏沒有任何加號。

相關問題