正则表达式为n个字符的字符串

时间:2011-06-30 18:08:12

标签: .net regex

我想使用.NET的Regex.IsMatch函数来确定一个字符串是否长8个字符并匹配表达式AK-\d\d\d\d[fF]。因此,AK-9442F会匹配但不匹配AK-9442F2AK-9442。我将如何构建表达式?

4 个答案:

答案 0 :(得分:4)

使用静态Regex.IsMatch,您可以:

if (Regex.IsMatch(myTestString, @"^AK-\d{4}[fF]$")) {
  // passed
}

应该适合您的目的。细分,是:

^       # must match beginning of the string
  AK-     # string literal, "AK-"
  \d{4}   # \d is digit, {4} means must be repeated 4 times
  [fF]    # either upper or lowercase F
$       # must match end of string

GSkinner Test

答案 1 :(得分:4)

使用此模式:^AK-\d{4}[Ff]$

^匹配字符串的开头,$匹配字符串的结尾。这可确保整个字符串必须匹配并避免任何部分匹配。 \d{4}恰好匹配4位数。

string pattern = @"^AK-\d{4}[Ff]$";
bool result = Regex.IsMatch("AK-1234F", pattern);
Console.WriteLine(result);

答案 2 :(得分:3)

 Regex.IsMatch(myString, @"^AK-\d{4}[fF]$")

答案 3 :(得分:0)

你已经拥有它。

这样的事情应该有效:

^AK-[0-9]{4}[Ff]$