我正在尝试制作一个正则表达式,它将匹配一个帐号,该帐号由特定的3个字符串后跟9个数字组成。 e.g。
abc123456789
xyz123456789
def987654321
我已经想出如何使用以下表达式完成但想知道是否有更好的方法:
abc[0-9]{9}|xyz[0-9]{9}|def[0-9]{9}
答案 0 :(得分:5)
您只能为特定字符串创建OR,因为它是唯一改变的内容:
(abc|xyz|def)[0-9]{9}
答案 1 :(得分:1)
如果帐号只能由abc
,def
或xyz
组成,则可以使用|
专门针对这些字符串,正如Jorge Campos所指出的那样:< / p>
(abc|def|xyz)\d{9}
但是,假设它可以从非数字字符的任意组合开始,这是最简洁的方式:
\D{3}\d{9}