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

Java正規表現の構造「re?」の説明

子表現式/正規表現の文字「re?」は、前の表現式の0または1回の一致をマッチングします。1。

例1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      String regex = "Wel?";
      String input = "Welcome to w3codebox";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(input);
      int count = 0;
      while(m.find())  {
         count++;
      }
      System.out.println("一致数: ");+count);
   }
}

出力結果

一致数: 1

例2

以下のJavaプログラムは、ユーザーから文字列を受け取り、それがアルファベット(2つの状況)および数字を含んでいるかどうかを確認します。

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main( String args[] ) {
      String regex = "[a-zA-Z][0-9]?";
      Scanner sc = new Scanner(System.in);
      System.out.println("入力文字列を入力してください: ");
      String input = sc.nextLine();
      //Patternオブジェクトの作成
      Pattern p = Pattern.compile(regex);
      //Matcherオブジェクトの作成
      Matcher m = p.matcher(input);
      if(m.find())  {
         System.out.println("一致が見つかりました");
      }  else  {
         System.out.println("一致な文字が見つかりませんでした");
      }
   }
}

出力1

入力文字列を入力してください:
サンプルテキスト
一致が見つかりました

出力2

入力文字列を入力してください:
サンプルテキスト 34 56
一致が見つかりました

出力3

入力文字列を入力してください:
32 89 45 63
一致な文字が見つかりませんでした
基本チュートリアル