2010-07-31 36 views
1

可以告訴一些我怎麼能寫正則表達式匹配abc.com.ae或abc.net.af或任何東西,AE這是最後的字符串中是可選的正則表達式

這是全成與/但不。不知道爲什麼

^[a-z]{1,25}.[a-z]{3}$ 

答案

^[a-z]{1,30}\.[a-z]{3}((\.)[a-z]{2})?$ 
+0

http://myregexp.com/examples.html – kenny 2010-07-31 14:16:07

回答

4

答案是:寫\.代替.,因爲.手段「任何角色」。

0

可以使用\ u轉義代碼緊跟着的十六進制格式的字符的Unicode數字匹配特定字符,它也必須是四位數字只要。我認爲一個句號是\ u002E。

在你的例子中'/'的作品,但不是'。',這是因爲一個'/'被認爲是一個正常的字符,不需要轉義,而句號有不同的含義在c#regex它匹配任何字符)。

如果youre仍然不知道,這裏是一個有用的指導在C#中的正則表達式:http://www.radsoftware.com.au/articles/regexlearnsyntax.aspx 而這其中有網址的正則表達式的例子:http://www.radsoftware.com.au/articles/regexsyntaxadvanced.aspx

0

我聽起來像你需要一些環境來學習正則表達式。

學習正則表達式的最佳方式是使用交互式正則表達式模擬器:鍵入表達式,它會立即給出結果。

有一些免費的(和不那麼自由)的正則表達式使用模擬器:從http://lumadis.be/regex/test_regex.php

  • 免費網絡版本。
  • RegExBuddy從http://www.regexbuddy.com/。我不參與這個計劃,但過去我已經用它取得了很好的成功。