regex 最后2位数的正则表达式c#

dxxyhpgq  于 2023-01-18  发布在  C#
关注(0)|答案(3)|浏览(217)

我有一个只有数字的文本框,我的正则表达式是:

^[1-9][0-9][0-9][48,88,51,01]$

我只想数字结束的2位数(48,88,51,01)我如何才能验证这一点,我不擅长与常规表达式:(

lx0bsm1f

lx0bsm1f1#

要匹配 6个数字,前4可以是任何数字,使用C#匹配2 的组,并以48、88、51、01中的一个结尾,可以使用character class,但使用不同的符号。
然后,您可以使用非捕获组作为替代项。

^[0-9]{4}(?:[48]8|[50]1)$

参见regex101 demo
或者,如果第一个数字应为1-9:

^[1-9][0-9]{3}(?:[48]8|[50]1)$

参见另一个regex demo

tjjdgumg

tjjdgumg2#

这里你有另一种方法:

\d*(48|88|51|01)$

此正则表达式首先使用“\d*”模式匹配零个或多个数字,然后使用管道“|“运算符匹配字符串末尾的48、88、51或01(由“$”字符指示)。

iibxawm4

iibxawm43#

要将非捕获组(?:...)or运算符一起使用:

^[1-9][0-9][0-9](?:48|88|51|01)$

相关问题