Java 正则表达式中的子表达式 “(re)”


子表达式/元字符 “( )”对正则表达式进行分组,并记住匹配的文本。

示例 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

更新于: 19-11-2019

252 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.