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

Javaのパターンのコメントフィールド(例付き)

Pattern类的COMMENTS字段允许空格和模式中的注释。当将此值用作compile()当方法的标志值时,给定模式中的空格和以#开头的注释将被忽略。

例1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class COMMENTES_Example {
   public static void main( String args[] ) {
      Scanner sc = new Scanner(System.in);
      System.out.println("输入数据: ");
      String input = sc.nextLine();
      //查找数字的正则表达式
      String regex = "\\d #ignore this comment\n";
      //编译正则表达式
      Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
      //检索匹配器对象
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      String result = "";
      while (matcher.find()) {
         count++;
         result = result+matcher.group();
      }
      System.out.println("给定文本中的数字个数: ");+count);
   }
}

出力結果

输入数据:
样本1 文本2 带有3 数字4 在5 之间6
给定文本中的数字个数: 6

例2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class COMMENTES_Example {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("あなたの名前を入力してください: ");
      String name = sc.nextLine();
      System.out.println("あなたの日付を入力してください: ");
      String dob = sc.nextLine();
      //正規表現はMM-DD-YYYフォーマットの日付を受け入れます
      String regex = "^(1[0-2]|0[1-9]/
         # For Month\n" + "(3[01]|[12][0-9]|0[1-9]/
         # For Date\n" + "[0-9]{4}$ # For Year";
      //Patternオブジェクトを作成します
      Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
      //Matcherオブジェクトを作成します
      Matcher matcher = pattern.matcher(dob);
      boolean result = matcher.matches();
      if(result) {
         System.out.println("指定の日付が有効です");
      } else {
         System.out.println("指定の日付が有効ではありません");
      }
   }
}

出力結果

あなたの名前を入力してください:
Krishna
あなたの日付を入力してください:
09/26/1989
指定の日付が有効です