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

一致するすべてのJava正規表現のリストを取得する


Javaには、リストを使用して結果をwhileループに追加するために必要なすべての一致のリストを取得するメソッドはありません。

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ListOfMatches{
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      String regex = "\\d+";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      ArrayList list = new ArrayList();
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      while (matcher.find()) {
         list.add(matcher.group());
      }
      Iterator it = list.iterator();
      System.out.println("List of matches: ");
      while(it.hasNext()){
         System.out.println(it.next());
      }
   }
}

出力

Enter input text:
sample 1432 text 53 with 363 numbers
List of matches:
1432
53
363

  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.out.

  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 =