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

Java RegExを使用して固定の文字セットをマッチングする方法は?

文字クラスを使用すると、固定の文字セットの中の単一の文字を受け入れることができます。例えば、

  • 表現「 [tmp] 」が文字tまたはmまたはpと一致します。

  • 表現「 [^ tp] tまたはp以外の文字と一致します。

例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();
      //文字t、m、pを一致させる正規表現
      String regex = "[tmp]";
      //正規表現をコンパイルしています
      Pattern pattern = Pattern.compile(regex);
      //マッチャーオブジェクトを取得しています
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("出現回数: "+count);
   }
}

出力結果

文字列を入力してください
hello how are you welcome to tutorialspoint
出現回数 :6

例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 = "[^abcdef]";
      //正規表現をコンパイルしています
      Pattern pattern = Pattern.compile(regex);
      //マッチャーオブジェクトを取得しています
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("出現回数 :");+count);
   }
}

出力結果

文字列を入力してください
Hello how are you welcome to tutorialspoint
出現回数 :36
基本チュートリアル