Valid Username Regular Expression-HackerRank Solution

1

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 8 to 30 characters, inclusive. If the username consists of less than 8 or greater than 30 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[a-z], uppercase characters[a-z] and digits[0-9].
  • The first character of the username must be an alphabetic character, i.e., either lowercase character[a-z] or uppercase character [A-Z].

For example:


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

  • 1<=n<=100
  • 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
Julia@007
_Julia007


Sample Output 0

Invalid
Valid
Valid
Invalid
Invalid
Valid
Invalid
Invalid


Explanation 0

Refer diagram in the challenge statement.

 

Solution 

  import java.util.Scanner;
  class UsernameValidator {

  public static final String regularExpression = "^[a-zA-Z]\\w{7,29}$";
  }


  public class Solution {
  private static final Scanner scan = new Scanner(System.in);

  public static void main(String[] args) {
  int n = Integer.parseInt(scan.nextLine());
  while (n-- != 0) {
  String userName = scan.nextLine();

  if (userName.matches(UsernameValidator.regularExpression)) {
  System.out.println("Valid");
  }  else {
  System.out.println("Invalid");
  } 
  }
  }
 }

 
Test case Result
 

 

What is Regular Expression

A regular expression is a sequence of characters that forms a search pattern. When you search for data in a text, you can use this search pattern to describe what you are searching for.

A regular expression can be a single character, or a more complicated pattern.

Regular expressions can be used to perform all types of text search and text replace operations.

Java does not have a built-in Regular Expression class, but we can import the java.util.regex package to work with regular expressions. The package includes the following classes:

  •     Pattern Class - Defines a pattern (to be used in a search)
  •     Matcher Class - Used to search for the pattern
  •     PatternSyntaxException Class - Indicates syntax error in a regular expression pattern

Post a Comment

1 Comments
* Please Don't Spam Here. All the Comments are Reviewed by Admin.
Post a Comment
Our website uses cookies to enhance your experience. Learn More
Accept !