 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Regular expression for a hexadecimal number greater than 10 and should be even in length in java.
Following is the regular expression to match hexadecimal number greater than 10 with even length −
^(?=.{10,255}$)(?:0x)?\p{XDigit}{2}(?:\p{XDigit}{2})*$ Where,
- ^ − Matches the starting of the sentence. 
- (?=.{10,255}$) − String ending with characters with 10 to 255. 
- \p{XDigit}{2} − Two hexa-decimal characters. 
- (?:\p{XDigit}{2})* − 0 or more sequences of double hexa-decimal characters. 
- $ − Matches the end of the sentence. 
Example 1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class JavaExample51 {    public static void main(String[] args) {       Scanner sc = new Scanner(System.in);       String nums[] = new String[5];       for(int i=0; i<nums.length; i++){          System.out.println("Enter a hexa-decimal number: ");          nums[i] = sc.nextLine();       }       //Regular expression to accept English alphabet       String regex = "^(?=.{10,255}$)(?:0x)?\p{XDigit}{2}(?:\p{XDigit}{2})*$";       //Creating a pattern object       Pattern pattern = Pattern.compile(regex);       for (String hex : nums) {          //Creating a Matcher object          Matcher matcher = pattern.matcher(hex);          if(matcher.find()) {             System.out.println(hex+" is valid");          }else {             System.out.println(hex+" is not valid");          }       }    } }  Output
Enter a hexa-decimal number: 0x1234567890 Enter a hexa-decimal number: 123456789 Enter a hexa-decimal number: 123456789012 Enter a hexa-decimal number: sfdgdf35364 Enter a hexa-decimal number: $@%#BV#* 0x1234567890 is valid 123456789 is not valid 123456789012 is valid sfdgdf35364 is not valid $@%#BV#* is not valid
Example 2
import java.util.Scanner; public class JavaExample {    public static void main(String[] args) {       Scanner sc = new Scanner(System.in);       System.out.println("Enter a hexa-decimal number: ");       String name = sc.nextLine();       String regex = "^(?=.{10,255}$)(?:0x)?\p{XDigit}{2}(?:\p{XDigit}{2})*$";       boolean result = name.matches(regex);       if(result) {          System.out.println("Given number is valid");       }else {          System.out.println("Given number is not valid");       }    } }  Output 1
Enter your name: 0x1234567890 Given name is valid
Output 2
Enter a hexa-decimal number: 024587545 Given number is not valid
Advertisements
 