English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.regex包的模式类是正则表达式的编译表示。
此类的compile()方法接受表示正则表达式的字符串值,并返回Pattern对象。
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 = "(\\d)"; //Compilar expresión regular Pattern pattern = Pattern.compile(regex); //打印正则表达式 System.out.println("Compiled regular expression: " );+pattern.toString()); //Objeto del objeto de búsqueda Matcher matcher = pattern.matcher(input); //Verificar si se produjo una coincidencia if(matcher.find()) { System.out.println("Dada la cadena contiene dígitos"); } else { System.out.println("Dada la cadena no contiene dígitos"); } } }
Resultado de salida
Ingrese la cadena de entrada hola, mi id es 1120KKA Expresión regular compilada: (\d) Dada la cadena contiene dígitos
Otra variante de este método acepta valores enteros que representan banderas, donde cada bandera especifica una condición opcional, por ejemplo CASE_INSENSITIVE para ignorar mayúsculas y minúsculas al compilar la expresión regular.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CompileExample { public static void main(String args[]) { //Compilar expresión regular Patrón pattern = Patrón.compile("[t]", Patrón.CASE_INSENSITIVE); //Objeto del objeto de búsqueda Matcher matcher = pattern.matcher("w",3codebox); int count = 0; while(matcher.find()) { count++; } System.out.println("Número de coincidencias:");+count); } }
Resultado de salida
Ingrese la cadena de entrada w3codebox Número de coincidencias: 3