正则表达式匹配 x 个数字和 1 个字母

Regex to match x numbers and 1 letter

如何匹配任意数量的数字和恰好 1 个字母(有效字母为 d、m、y 以表示日期单位)

例如有效

例如无效

我尝试了一些方法,例如 [1-9]\b[a-zA-Z]\b[1-9][a-zA-Z]

如果字母应该在最后

\b\d+[dmy]\b

Regex demo

不要只匹配零,例如 00m

\b(?!0+[dmy]\b)\d+[dmy]\b

Regex demo

注意 [1-9] 不会匹配零,因此 30m 在这种情况下不会匹配。