创建正则表达式以匹配带有字母和后跟固定位数的字符串

时间:2018-07-31 06:49:52

标签: c# regex

我们有一个用例,其中我们需要使用以下约束条件来验证一些Uid

  

长度为5的格式为 annnnn ,其中 a 是除ABD和{ {1}}。并且 n 是从E0的任何数字。

所以我创建了一个新方法,该方法将验证该方法并按预期工作。

9

但是可以通过正则表达式有效地完成。由于我对它不好,因此需要帮助为我创建一个!在此先感谢!

1 个答案:

答案 0 :(得分:2)

  

其中“ a”是除A,B,D和E之外的任何字母。

因此,在这种情况下,您需要指定允许的字母集

[a-zF-ZC] =>表示所有字母都在a-z范围内,并且F-Z应该匹配,C也应该匹配

  

'n'是0到9之间的任何数字。

\d匹配一个数字,或者您可以使用[0-9]

  

长度为5的表格,形式为nnnn

\d{4}指定应该匹配的前一个字符的数量

必须做的最后一件事。您需要指定a应该在字符串的开头,并且字符串在第5个字符之后结束:

^表示字符串的开头
$表示字符串的结尾。

所以结合起来看起来像这样:

string pattern = @"^[a-zF-ZC]\d{4}$

或使用数字范围:

string pattern = @"^[a-zF-ZC][0-9]{4}$

这是一个overview of the regex patterns,其中包含示例和说明

这里是site where you can test and try out your regex pattern。弄弄它以了解它。有帮助

编辑:

[...]表示将要匹配的一组字符。像-a-zA-F中的5-9符号表示范围。任何其他字符都可以简单地放入集合中:

[abcdefgxyz]仅匹配那些指定的字母!

集合和范围可以组合

[CF-SX-Z]将匹配CFS之间以及XZ之间的所有大写字母。我希望它现在变得更清楚