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

时间:2017-03-29 03:23:13

标签: regex

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

abc123456789
xyz123456789
def987654321

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

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

2 个答案:

答案 0 :(得分:5)

您只能为特定字符串创建OR,因为它是唯一改变的内容:

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

答案 1 :(得分:1)

如果帐号只能由abcdefxyz组成,则可以使用|专门针对这些字符串,正如Jorge Campos所指出的那样:< / p>

(abc|def|xyz)\d{9}

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

\D{3}\d{9}