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

Javaでの正規表現(再)サブ式


部分式/メタ文字「()」は正規表現をグループ化し、一致したテキストを記憶します。

例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 Tutorialspoint";
      String regex = "H(ell|ow)";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      if(matcher.find()) {
         System.out.println("Match found");
      } else {
         System.out.println("Match not found");
      }
   }
}

出力

Match found

例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("Enter input string: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //Regular expression using groups
      String regex = "(?:.*)(\\d+)(.*)";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(input);
      boolean bool = matcher.matches();
      if(bool) {
         System.out.println("Match found");
      } else {
         System.out.println("Match not found");
      }
   }
}

出力

Enter input string:
This is a 5363 test string
Match found

  1. Javaの正規表現\d構文

    部分表現/メタ文字「\d 」は数字と一致します。 例1 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample {    public static void main( String args[] ) {       String regex = "\\d 24";       String input = "This is sample text 12 24

  2. Javaの正規表現\Sメタ文字

    部分式/メタ文字「\S」は空白以外の文字と一致します。 例1 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample {    public static void main( String args[] ) {       String regex = "\\S";       String input = "Hello how are you welcome