2014-03-13 19 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旅游”这可能是一个原因呢? –