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