What does "Please enter a username matching the regular expression configured via the NAME_REGEX[_SYSTEM]" mean?

I am a research assistant in a neuroscience lab completely new to programming. I'm just trying to make a username in the ubuntu system I downloaded to run an MRI analysis program for someone else. And I don't even understand what this basic command means. I know regex means "regular expression" but can someone please tell me what an acceptable entry would be if I want my username to be "Icymoguls," or at least point me to a tutorial? I learned about /,~, cd, and ls in an intro video but don't know anything else. Thank you


The regex error you are seeing is basically saying that the username you tried to set does not meet the "rules" your system has set for what characters can be in usernames. By default, Ubuntu does not allow capital letters in usernames. The username you provided, "Icymoguls," has a capital letter at the beginning and therefore Ubuntu will not accept it.

Ubuntu only accepts usernames based on the following rules:

  • Must start with a lowercase letter
  • May only contain lowercase letters, underscore (_), and dash (-)
  • May optionally end with a dollar sign ($)

A regular expression is merely a string that shows what is and what is not allowed in another string. When creating a new user, Ubuntu checks potential usernames against its builtin regular expression for usernames (which is ^[a-z][-a-z0-9_]*\$ in case you were curious!).