您的模式几乎可以工作,但它允许多个下划线。为了防止这种情况,您可以使用以下模式:^[a-z][a-z0-9]*_?[a-z0-9]+$细节:^ # Beginning of the string.[a-z] # Matches exactly one English letter.[a-z0-9]* # Matches zero or more English alphanumeric character (i.e., letter or digit)._? # Matches zero or one underscore characters.[a-z0-9]+ # Matches one or more English alphanumeric characters.$ # End of the string.请注意,为了使其不区分大小写,您需要使用修饰符i(即/pattern/i)或使用a-zA-Z而不是仅a-z在所有字符类中使用。