# 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

Live Demo

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

Live Demo

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