English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java正規表現を使用して一連の文字をマッチングする方法

一定範囲の文字を一致させる必要がある場合、つまりシーケンス内の2つの指定された文字間のすべての文字を一致させる必要がある場合、文字クラスを使用することができます 

[a-z]
  • 表現「 [a-zA-Z] 」は、どんな英語のアルファベットも受け入れます。

  • 表現「 [0-9 &&[^ 35]] 」を受け入れます3および5の他の数字。

例1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String args[]) {
      //ユーザーから文字列を読み取ります
      System.out.println("文字列を入力してください");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "^[a-zA-Z0-9]*$";
      //正規表現をコンパイルします
      Pattern pattern = Pattern.compile(regex);
      //検索マッチャーオブジェクト
      Matcher matcher = pattern.matcher(input);
      if(matcher.matches()) {
         System.out.println("マッチングが発生しました");
      } else {
         System.out.println("マッチングが発生しませんでした");
      }
   }
}

出力1

文字列を入力してください
Hello
マッチングが発生しました

出力2

文字列を入力してください
sample#
マッチングが発生しませんでした

例2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String args[]) {
      //ユーザーから文字列を読み取ります
      System.out.println("文字列を入力してください");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "[0-9&&[^35]]";
      //正規表現をコンパイルします
      Pattern pattern = Pattern.compile(regex);
      //検索マッチャーオブジェクト
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("出現回数 :");+count);
   }
}

出力結果

文字列を入力してください
111223333555689
出現回数 :8