How to validate identifier using Regular Expression in Java
Hello guys, in this tutorial we will learn how to validate an identifier using a regular expression in Java. A Regular Expression is an expression that represents a set of strings as per a specific pattern.
The main aim is to validate or check a given string whether it is a valid string or not using Regular expression.
To check the validity of a string, there are some rules in the regular expression to test on that given string –
- Given string should begin either with lower-case alplabet[a-z] or upper-case alphabet[A-Z] or a dollar sign($) or underscore(_).
- It must not begin with a numerical number/ digit[…-2,-1,0,1,2…].
- It must exclude white spaces in between.
Java program to validate identifier using Regular Expression
regex to create a valid identifier:
regex= "^([a-zA-Z_$][a-zA-Z\\d_$]*)$";
where,
- ^: It alludes to the beginning character of a string.
- [a-zA-Z_$]: It refers to the string start either with the lower case alphabet(a-z) or upper case alphabet(A-Z) or a dollar sign($) or underscore(_).
- [a-zA-Z\\d_$]*: It refers back to the string that can be alphanumeric or dollar sign or underscore after the beginning character of the string.
- $: It refers to the closure of a string.
Let’s understand this by an example,
import java.util.regex.*;
class Test{
public static boolean checkValidity(String str){
String regex="^([a-zA-Z_$][a-zA-Z\\d_$]*)$";
Pattern p = Pattern.compile(regex);
if (str == null) {
return false;
}
Matcher m = p.matcher(str);
return m.matches();
}
public static void main(String ar[]){
String s1="code123";
System.out.println(checkValidity(s1));
String s2="232codespeedy";
System.out.println(checkValidity(s2));
}
}output:
true false
Pattern:
A Pattern object refers to a compiled model of a Regular Expression. It compiles the regex by the usage of the compile() method to create a pattern.
Matcher:
A matcher is utilized to search through a content/string for multiple occurrences of a regular expression. matches() method returns true in the case, if the regex string fits the entire content/string str, else it returns false.
Leave a Reply