Java
 Computer >> コンピューター >  >> プログラミング >> Java

所有格数量詞Java正規表現


貪欲な数量詞はデフォルトの数量詞です。貪欲な数量詞は、入力文字列から可能な限り一致します(可能な限り最長の一致)。一致が発生しなかった場合は、最後の文字を残して再度一致します。

所有格の数量詞は貪欲な数量詞に似ていますが、唯一の違いは、最初にできるだけ多くの文字を一致させようとし、貪欲な数量詞とは異なり一致が発生しなかった場合、バックトラックしないことです。

貪欲な数量詞の後に「+」を付けると、所有格の数量詞になります。以下は所有格数量詞のリストです-

Quantifier 説明
re * + 0回以上のオカレンスに一致します。
re?+ ゼロまたは1回のオカレンスに一致します。
re ++ 1つ以上のオカレンスに一致します。
re {n} + 正確にn回一致します。
re {n、m} + 少なくともn回、最大でm回のオカレンスに一致します。

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      String regex = "[0-9]++";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      while (matcher.find()) {
         System.out.print(matcher.group());
         System.out.println();
      }
   }
}

出力

Enter input text:
45678
45678

  1. Java正規表現のサブ式(?:re)

    部分表現/メタ文字「(?:re) 」は、一致したテキストを記憶せずに正規表現をグループ化します。 例 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PatternExample {    public static void main(String args[]) {       //Reading String from user       System

  2. Java正規表現のメタ文字\Bについて説明します。

    部分表現/メタ文字「\B 」は単語以外の境界に一致します。 例1 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample {    public static void main( String args[] ) {       String regex = "\\Bcause";       Scanner sc =