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

Regex 匹配帐号的正则表达式,由特定的3个字符串和9位数字组成,regex,Regex,我正在尝试创建一个正则表达式,它将匹配一个帐号,帐号由特定的3个字符字符串和9个数字组成。 e、 g 我已经知道了如何使用以下表达式来实现,但想知道是否有更好的方法: abc[0-9]{9}|xyz[0-9]{9}|def[0-9]{9} 您可以仅为特定字符串设置OR,因为它是唯一改变的: (abc|xyz|def)[0-9]{9} 您可以仅为特定字符串设置OR,因为它是唯一改变的: (abc|xyz|def)[0-9]{9} 如果账号只能由abc、def或xyz组成,您可以专门为这些字符

我正在尝试创建一个正则表达式,它将匹配一个帐号,帐号由特定的3个字符字符串和9个数字组成。 e、 g

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

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

您可以仅为特定字符串设置OR,因为它是唯一改变的:

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

您可以仅为特定字符串设置OR,因为它是唯一改变的:

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

如果账号只能由abc、def或xyz组成,您可以专门为这些字符串使用|,正如豪尔赫·坎波斯所指出的:

(abc|def|xyz)\d{9}
但是,假设它可以从非数字字符的任意组合开始,这是最简洁的表达方式:

\D{3}\d{9}

如果账号只能由abc、def或xyz组成,您可以专门为这些字符串使用|,正如豪尔赫·坎波斯所指出的:

(abc|def|xyz)\d{9}
但是,假设它可以从非数字字符的任意组合开始,这是最简洁的表达方式:

\D{3}\d{9}

就它匹配字段而言,用^和$包装表达式是一个好主意,只要它匹配一个字段,用^和$包装表达式将是一个好主意。如果您正在验证表单字段,也可以考虑用^来包装您的ReGEXP,否则,像Fielabc1212468989888这样的东西也将匹配ReGEXP。验证表单字段也考虑用^和$$包装ReGEXP,否则类似于Fielabc12124568989788之类的东西也将匹配ReGEXP。