如何在.net中的正则表达式中为字符串获取2个字母7数字1字母格式

时间:2011-02-24 07:47:00

标签: c# .net regex string

格式的示例是aa1231231c

2 个答案:

答案 0 :(得分:6)

好吧,看起来像:

[a-zA-Z]{2}[0-9]{7}[a-zA-Z]
对我来说。当然这取决于你的意思是“字母”和“数字” - 上面只涉及ASCII字母和数字,没有重音符号,没有其他类型的数字等。你

请注意,有其他方法可以使用\d表示“任意数字”,\p{L}表示匹配“任意字母”;如果您真的只是想要 ASCII字母和数字,我会使用上面的内容来明确说明允许的内容。

您可以将其作为代码中的整个字符串进行匹配,也可以使用^$将其强制插入表达式中:

^[a-zA-Z]{2}[0-9]{7}[a-zA-Z]$

这样可以防止在其他文本中找到您的模式。

答案 1 :(得分:2)

您是否在验证整个字符串?

Regex myPattern = new Regex(@"^[a-z]{2}\d{7}[a-z]$", RegexOptions.IgnoreCase);

没有

Regex myPattern = new Regex(@"[a-z]{2}\d{7}[a-z]", RegexOptions.IgnoreCase);