为什么这个正则表达式匹配?

时间:2014-07-04 11:10:23

标签: c# regex

首先让我说明我不是正则表达式中的佼佼者。我想创建一个正则表达式来验证某个东西是十六进制数,但是这些数字按每2个分组。

我在网上找到的正则表达式很好,但不要检查2的分组。

例如:

好(长度%2 == 0):

  • AF4C
  • 5E8E6D
  • 8C0F5C3E

不好(长度%2 == 1):

  • E5F
  • d
  • 4B2E4

我试过的正则表达式:

var regex = new System.Text.RegularExpressions.Regex(@"^([0-9a-fA-f][0-9a-fA-f])+$");
regex.Match("3]").Success; //Why is this true?

var regex = new System.Text.RegularExpressions.Regex(@"^([0-9a-fA-f]{2})+$");
regex.Match("3]").Success; //Why is this true?

1 个答案:

答案 0 :(得分:0)

与评论中回答的用户Juhana一样,我的问题是我写了A-f而不是' A-F'。快速修复,但让我疯了。