English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.regexDas Musterklassepaket ist die kompilierte Darstellung von regulären Ausdrücken.
Dieser Klassecompile()Dieses Verfahren akzeptiert Zeichenfolgenwerte, die reguläre Ausdrücke darstellen, und gibt zurückPatternObjekt, hier ist die Signatur dieser Methode.
static Pattern compile(String regex)
Eine andere Variante dieses Verfahrens akzeptiert Ganzzahlwerte, die Marken darstellen. Hier ist die Signatur der Methode compile mit zwei Parametern.
static Pattern compile(String regex, int flags)
DieseMusterDiese Klasse bietet verschiedene Domänen, jede repräsentiert eine Marke
Nummer | Spalte und Beschreibung |
---|---|
1 | CANON_EQ nur wenn zwei Zeichensätze normgerecht übereinstimmennurPassen auf. |
2 | CASE_INSENSITIVE Passen auf Zeichen, ohne Gross-/Kleinschreibung zu unterscheiden. |
3 | Kommentare Erlaubt Leerzeichen und Musterkommentare. |
4 | DOTALL Aktiviert den dotall-Modus. Der Metazeichen „.“ passt auf alle Zeichen, einschließlich Zeilenende. |
5 | LITERAL Aktiviert die Wortanalyse des Musters. Das bedeutet, dass alle Meta-Zeichen und Escape-Sequenzen in der Eingabesequenz als Textzeichen betrachtet werden. |
6 | MULTILINE Aktiviert den Mehrzeilenmodus, d.h. die gesamte Eingabesequenz wird als ein Zeilen betrachtet. |
7 | UNICODE_CASE Aktiviert dieErkennenUnicode-Kapitälchenfaltung, d.h. zusammen mit CASE_INSENSITIVE verwendet. Wenn Unicode-Zeichen mit regulärem Ausdruck gesucht werden, werden beide Fälle von Unicode-Zeichen übereinstimmen. |
8 | UNICODE_CHARACTER_CLASS Aktiviert die prädefinierten Zeichensätze und die POSIX-Zeichensätze in der Unicode-Version. |
9 | UNIX_LINES Diese Marke aktiviert das Unix- Zeilenmodus. |
Dieser Klasseflags()Die Methode gibt die Zeichenfolgenkombination zurück, die im aktuellen Muster verwendet werden.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class COMMENTES_Example { } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入您的姓名: "); String name = sc.nextLine(); System.out.println("请输入您的出生日期: "); //String dob = sc.nextLine();-正则表达式以MM-DD YYY格式接受日期1"(-2]|0[1-9)]/ String regex = "^( + # For Month "3"(1[012]|[-9]|0[1-9)]/ # For Date " + "[0-9]{4}$ # For Year"; //创建一个Pattern对象 Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS); //创建一个Matcher对象 Matcher matcher = pattern.matcher(dob); boolean result = matcher.matches(); if(result) { System.out.println("提供的出生日期有效"); } else { System.out.println("提供的出生日期无效"); } System.out.println("使用的标志: ");+ pattern.flags()); } }
输出结果
请输入您的姓名: Krishna 请输入您的出生日期: 09/26/1989 提供的出生日期有效 使用的标志: 4