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)"; //Regulären Ausdruck kompilieren Pattern pattern = Pattern.compile(regex); //打印正则表达式 System.out.println("Compiled regular expression: ");+pattern.toString()); //Sucher-Objekt abrufen Matcher matcher = pattern.matcher(input); //Überprüfen Sie, ob eine Übereinstimmung aufgetreten ist if(matcher.find()) { System.out.println("Gegebene Zeichenfolge enthält Ziffern"); } else { System.out.println("Gegebene Zeichenfolge enthält Ziffern"); } } }
Ausgaberesultat
Geben Sie den Eingabezeichenfolgen ein hello my id is 1120KKA Kompilierte reguläre Ausdrucksformel: (\d) Gegebene Zeichenfolge enthält Ziffern
Eine andere Variante dieser Methode akzeptiert Ganzzahlwerte, die die Werte von Flaggen darstellen, wobei jede Flagge eine optionale Bedingung spezifiziert, z.B. CASE_INSENSITIVE, um Gross- und Kleinschreibung beim Kompilieren des regulären Ausdrucks zu ignorieren.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CompileExample { public static void main(String args[]) { //Regulären Ausdruck kompilieren Pattern pattern = Pattern.compile("[t]", Pattern.CASE_INSENSITIVE); //Sucher-Objekt abrufen Matcher matcher = pattern.matcher("w"3codebox)); int count = 0; while(matcher.find()) { count++; } System.out.println("Anzahl der Übereinstimmungen: "+count); } }
Ausgaberesultat
Geben Sie den Eingabezeichenfolgen ein w3codebox Anzahl der Übereinstimmungen: 3