首页 > 解决方案 > 接受大写字母的正则表达式应该接受数字

问题描述

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

CNTCST79L20H50 MG

正则表达式是:

^[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}$

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

^[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?

编辑:

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

标签: regexbashsysadmin

解决方案


对,那是正确的。您可以在这里看到它的工作原理:https ://regex101.com/r/rHBFnA/1

更新您的更新:)

您可以在字符类中同时表示字母和数字:

^[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


推荐阅读