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

Javaの正規表現「(re)」の子表現

サブエクスプレッション/正規表現をグループ化し、一致したテキストを記憶するためのユニット「()」。

例1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main( String args[] ) {
      String input = "Hello how are you welcome to w3codebox";
      String regex = "H(ell|ow)";
      //正規表現をコンパイルします
      Pattern pattern = Pattern.compile(regex);
      //マッチング器オブジェクトを検索します
      Matcher matcher = pattern.matcher(input);
      if(matcher.find()) {
         System.out.println("マッチング 見つかりました");
      } else {
         System.out.println("マッチング 見つかりません");
      }
   }
}

出力結果

マッチング 見つかりました

例2

以下の例では、数字を持つ文をマッチングしようと試みます-

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PatternExample {
   public static void main(String[] args) {
      System.out.println("入力文字列を入力してください: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //グループを使用する正規表現
      String regex = "(?:.*)(\\d+)(.*)";
      //パターンオブジェクトを生成します
      Pattern pattern = Pattern.compile(regex);
      //Matcher オブジェクトを生成します
      Matcher matcher = pattern.matcher(input);
      boolean bool = matcher.matches();
      if(bool) {
         System.out.println("マッチング 見つかりました");
      } else {
         System.out.println("マッチング 見つかりません");
      }
   }
}

出力結果

入力文字列を入力してください:
これは 5363 テスト 文字列
マッチング 見つかりました