2014-03-13 49 views
2

有人能告訴我在正則表達式的錯誤下面提到的事情:正則表達式IsMatch問題

  1. 正則表達式:@"^(tcm:\d+-\d+)"

    輸入字符串:tcm:12-123a6

    問題:\ d應該只匹配標號,根據我的知識。輸入 字符串中有'a'。它仍然匹配輸入字符串。

  2. 正則表達式:@"^[a-zA-Z0-9,&\s-]*$"

    輸入字符串:Transportation, Tourism & Travel我是從查詢字符串讀 和正值 Transportation%252c%2bTravel%2b%2526%2bTourism

    問題:我想我已輸入的所有字符到 正則表達式。它仍然不匹配。

  3. 正則表達式:@"^[a-zA-Z0-9=]*$"

    輸入字符串:U2VuaW9yIFBhcnRuZXIgJiBNYW5hZ2luZyB&&&EaXJlY3Rvcg==

    問題:即使有 '&' 輸入,爲什麼它匹配?

+0

請,不包括有關問題標題使用的語言信息,除非它不會沒有它是有道理的。標籤用於此目的。 您也可以使用標題更具體。 –

回答

1
  1. @ 「^(TCM:\ d + - \ d +)」 將匹配中醫認爲:從您的字符串12-123,你需要把$在您的正則表達式的結束,以配合整個字符串。

    @ 「^(TCM:\ d + - \ d +)$」

  2. 如果 ':' 屬於字符串,那麼你需要將它添加到你的列表中。

    @ 「^ [A-ZA-Z0-9,& \ S - :] * $」

+0

':'不是字符串的一部分。輸入字符串只是:交通,旅遊和旅遊。我正在嘗試第一個。它看起來k。 –

+0

第二種情況真的很奇怪。它匹配我的情況。 'Console.WriteLine(Regex.IsMatch(「Transportation,Travel and Tourism」,@「^ [a-zA-Z0-9,&s-] * $」));' –

+0

我正在閱讀as查詢的輸入串。它是:「運輸%252c%2b旅行%2b%2526%2b旅遊」這可能是一個原因呢? –