2013-03-25 88 views
1

夥計們,邏輯或電子郵件的正則表達式

我對正則表達式的一個基本問題,我想寫它匹配或正則表達式* *@anything.com。以下工作正常* + @。+ $電子郵件,但我無法弄清楚如何做* OR * + @。+ $

謝謝

+0

像'* +(@ anything.com)+ $'也許? '?'匹配零或一個匹配的前綴 – jonhopkins 2013-03-25 12:48:05

回答

4

在正則表達式的邏輯OR|,所以。從字面上看,你的情況:

\*|\*@.+$ 

但上述正則表達式可以簡化爲

\*(@.+$)? 

事實上,*炭必須存在,只要@.+$是可選的(?意味着「0或1次」)。

你可能需要使用^錨,這意味着 「字符串的開始」:

^\*(@.+$)? 
+0

真棒,那工作 – user1781472 2013-03-25 13:07:08

+0

\ *(@。+ $)?工作正常,但它匹配*的多次出現,在這兩種情況下,我只需要一次* – user1781472 2013-03-25 19:26:49

+0

@ user1781472您可以提供您使用它的方式嗎?您正在使用的語言中的代碼段? – sp00m 2013-03-25 19:28:18

0

這項工作? : [^ @ * @ + $

這將匹配任何不是一個 「@」 多次,直到 「@ anything.com」

+0

感謝您的快速響應,只是爲了澄清我希望正則表達式匹配的唯一兩件事是\\ *或\\ * @。+ $。 – user1781472 2013-03-25 12:57:48

+0

@ user1781472使用'$',你的意思是*真正的美元字符*,或字符串的結尾? – sp00m 2013-03-25 12:59:18

+0

with $ I表示字符串結尾,所以它應該匹配值*或它應該匹配* @。+ $ – user1781472 2013-03-25 13:02:01