Java
 Computer >> コンピューター >  >> プログラミング >> Java

10より大きい16進数の正規表現であり、Javaでは長さが偶数である必要があります。


以下は、10より大きい16進数と偶数の長さを一致させる正規表現です-

^(?=.{10,255}$)(?:0x)?\p{XDigit}{2}(?:\p{XDigit}{2})*$

どこで、

  • ^ −文の先頭に一致します。

  • (?=。{10,255} $) − 10〜255文字で終わる文字列。

  • \ p {XDigit} {2} −2つの16進文字。

  • (?:\ p {XDigit} {2})* −0個以上の2進数の16進文字のシーケンス。

  • $ −文の終わりに一致します。

例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");
         }
      }
   }
}

出力

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

例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");
      }
   }
}

出力1

Enter your name:
0x1234567890
Given name is valid

出力2

Enter a hexa-decimal number:
024587545
Given number is not valid

  1. 素数をチェックして次の素数を見つけるJavaメソッド

    java.math.BigIntegerクラスは、Javaのすべてのプリミティブ整数演算子およびjava.lang.Mathのすべての関連メソッドに類似した操作を提供します。また、数が素数であるかどうかを確認する方法と、次の確率的素数を見つける方法も提供します。 isProbablePrime() −このメソッドは、確実性を表す整数値を受け入れ、現在のオブジェクトによって表される値が素数であるかどうかを検証します。 −であるブール値を返します 与えられた数が素数の場合はtrue。 指定された数が素数でない場合はfalse。 例 import java.math.BigInt

  2. プライムをチェックし、Javaで次のプライムを見つけるJavaプログラム

    1より大きく、1とその数自体の2つの要素しかない整数は、素数と呼ばれます。これらの2つの数値を除いて、正の約数はありません。例:7=1×7 以下は、数が素数であるかどうかを見つけるためのアルゴリズムです- 整数変数Aを取ります。 変数Aを(A-1から2)で除算します。 Aが任意の値(A-1から2)で割り切れる場合、素数ではありません。 それ以外の場合は素数です。 例 次のJavaプログラムは、ユーザーから整数を受け取り、指定された数が素数であるかどうかを調べ、次の素数を出力します。 import java.util.Scanner; public class N