如何使用Java正则表达式匹配给定字符串(包括大小写)中的字符?

java的java.util.regex包提供了各种类来查找字符序列中的特定模式。该程序包的模式类是正则表达式的编译表示。

为了匹配给定输入字符串中的特定字符-

  • 获取输入字符串。

  • 此类的compile()方法接受表示正则表达式的字符串值,而表示标志的整数值返回Pattern对象。绕过编译正则表达式-

    • 模式匹配器“ [] ”,其中带有必需的字符,例如:“ [t]”。

    • 标志CASE_INSENSITIVE忽略大小写。

  • Pattern类的matcher()方法接受输入字符串并返回Matcher对象。使用此方法创建/检索匹配器对象。

  • find() -使用Matcher的find()方法进行匹配。

示例

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompileExample {
   public static void main( String args[] ) {
      //读取字符串值
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input string");
      String input = sc.nextLine();
      //查找数字的正则表达式
      String regex = "[t]";
      //编译正则表达式
      Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
      //检索匹配器对象
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("Number of matches: "+count);
   }
}

输出结果

Enter input string
Nhooo
Number of matches: 3