2011-05-03 136 views
2

我很難得到這個正則表達式的工作。我需要一個匹配單個@和單個.的模式。兩者都是必需的。正則表達式匹配需要@和

我試過/(@|\.)/但這個匹配或者或者。如果有人失蹤,我需要失敗。

+1

他們需要按順序出現嗎?他們之間能有什麼東西嗎?你可以使用'var.contains(「@」)&& var.contains(「。」)'?基本上,你真的想做什麼? – unholysampler 2011-05-03 20:21:43

+0

並且:您使用哪種語言/操作系統? – 2011-05-03 20:35:28

回答

1

你可以嘗試這樣的事情:

\[email protected]\w+\.\w+ 

(假設你喜歡[email protected]匹配的電子郵件您可以使其功能更強大,讓數字等,如果你不與電子郵件有關,那麼你最好只需在字符串中使用字符串函數尋找'@'和'。')

0

你想要一個看起來像@.的字符串嗎?那麼你需要/^(@\.|\[email protected])$/。注意:我正在逃避期限,否則.代表任何單個值。

0

如果順序並不重要:

/^(?=[^.]*\.[^.]*$)(?=[^@]*@[^@]*$).*$/ 

包含一個精確.和只有一個@字符串匹配。

0

我能想到的最簡單的是/@.*\.|\..*@/。將匹配任何字符串,只要它至少包含一個@和至少一個.字符串中的任意位置。

儘管可能字符串函數會更快/更好/更具可讀性。