正则表达式,用于匹配由特定的 3 个字符串后跟 9 位数字组成的帐号



我正在尝试制作一个正则表达式,该表达式将匹配由特定的 3 个字符字符串后跟 9 位数字组成的帐号。例如

abc123456789
xyz123456789
def987654321

我已经想出了如何使用以下表达式完成,但想知道是否有更好的方法:

abc[0-9]{9}|xyz[0-9]{9}|def[0-9]{9}

您可以仅为特定字符串创建 OR,因为它是唯一更改的一件事:

(abc|xyz|def)[0-9]{9}

如果帐号只能包含 abcdefxyz ,您可以专门使用这些字符串|,正如豪尔赫·坎波斯所指出的:

(abc|def|xyz)d{9}

但是,假设它可以从非数字字符的任意组合开始,这是最紧凑的表达方式:

D{3}d{9}

最新更新