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)"; //Compilation de l'expression régulière Pattern pattern = Pattern.compile(regex); //打印正则表达式 System.out.println("Compiled regular expression: ");+pattern.toString()); //Objet récepteur de recherche Matcher matcher = pattern.matcher(input); //Vérifier si une correspondance s'est produite if(matcher.find()) { System.out.println("Donnée String contient des chiffres"); } else { System.out.println("Donnée String ne contient pas de chiffres"); } } }
Résultat de la sortie
Entrez une chaîne d'entrée hello my id is 1120KKA Expression régulière compilée: (\d) Donnée String contient des chiffres
Une autre variante de cette méthode accepte une valeur entière représentant un drapeau, où chaque drapeau spécifie une condition optionnelle, par exemple CASE_INSENSITIVE pour ignorer les majuscules et les minuscules lors de la compilation de l'expression régulière.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CompileExample { public static void main( String args[] ) { //Compilation de l'expression régulière Expression régulière compilée: [t] (CASE_INSENSITIVE) //Objet récepteur de recherche Matcher matcher = pattern.matcher("w3codebox); int count = 0; while(matcher.find()) { count++; } System.out.println("Nombre de correspondances: ");+count); } }
Résultat de la sortie
Entrez une chaîne d'entrée w3codebox Nombre de correspondances: 3