Hackerrank Valid Username Regular Expression Solution
You are updating the username policy on your company's internal networking platform. According to the policy, a username is considered valid if all the following constraints are satisfied:
- The username consists of to characters inclusive. If the username consists of less than or greater than characters, then it is an invalid username.
- The username can only contain alphanumeric characters and underscores (
_
). Alphanumeric characters describe the character set consisting of lowercase characters , uppercase characters , and digits . - The first character of the username must be an alphabetic character, i.e., either lowercase character or uppercase character .
Update the value of regularExpression field in the UsernameValidator class so that the regular expression only matches with valid usernames.
Input Format.
The first line of input contains an integer , describing the total number of usernames. Each of the next lines contains a string describing the username. The locked stub code reads the inputs and validates the username.
Constraints.
- The username consists of any printable characters.
Output Format.
For each of the usernames, the locked stub code prints Valid
if the username is valid; otherwise Invalid
each on a new line.
Sample Input 0.
8
Julia
Samantha
Samantha_21
1Samantha
Samantha?10_2A
JuliaZ007
[email protected]
_Julia007
Sample Output 0.
Invalid
Valid
Valid
Invalid
Invalid
Valid
Invalid
Invalid
Explanation 0.
Refer diagram in the challenge statement.
Solution in java8
Approach 1.
class UsernameValidator {
/*
* Write regular expression here.
*/
public static final String regularExpression = "[a-zA-Z](\\w){7,29}";
}
Approach 2.
class UsernameValidator {
/*
* Write regular expression here.
*/
public static final String regularExpression = "^[A-Za-z]\\w{7,29}$";
}
Approach 3.
class UsernameValidator {
/*
* Write regular expression here.
*/
public static final String regularExpression = "\\p{Alpha}(\\w|_){7,29}";
}