接受大写字母的正则表达式应该接受数字

Regular expression to accept a capital letter should accept a number instead

我有一个正则表达式,它应该在最后一个 M 位置接受一个数字,但我的客户有一个字母(大写 M)。

CNTCST79L20H50MG

正则表达式为:

^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9]{3}[A-Za-z]{1}$

我如何修改正则表达式,使其接受 CNTCST79L20H50MG,而不需要数字?

^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{2}$

正确作为代码的正则表达式

CNTCST79L20H50MG?

编辑:

注意 不幸的是,最终的正则表达式应该接受这两种情况。

是的,没错。你可以在这里看到它的工作:https://regex101.com/r/rHBFnA/1

已更新您的更新:)

字符中既可以表示字母也可以表示数字class:

^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z0-9][A-Za-z]$

这两个匹配:

CNTCST79L20H50MG
CNTCST79L20H505G

但不是这个:

CNTCST79L20H5057

https://regex101.com/r/rHBFnA/4