java.regex पैकेज का पैटर्न क्लास एक रेगुलर एक्सप्रेशन का कंपाइल्ड प्रतिनिधित्व है।
इस क्लास का compile() मेथड एक रेगुलर एक्सप्रेशन को दर्शाने वाला स्ट्रिंग मान स्वीकार करता है और एक Pattern ऑब्जेक्ट लौटाता है, इस मेथड का सिग्नेचर निम्नलिखित है:
static Pattern compile(String regex)
इस मेथड का एक अन्य संस्करण फ्लैग को दर्शाने वाला एक पूर्णांक मान स्वीकार करता है, दो पैरामीटर्स के साथ compile मेथड का सिग्नेचर निम्नलिखित है:
static Pattern compile(String regex, int flags)
Pattern क्लास विभिन्न फील्ड प्रदान करती है जिनमें से प्रत्येक एक फ्लैग को दर्शाता है:
| क्र.सं. | फील्ड और विवरण |
|---|---|
| 1 | CANON_EQ दो वर्णों से तभी मिलान करता है जब वे कैनोनिकली समान हों। |
| 2 | CASE_INSENSITIVE केस की परवाह किए बिना वर्णों से मिलान करता है। |
| 3 | COMMENTS पैटर्न में व्हाइटस्पेस और टिप्पणियों की अनुमति देता है। |
| 4 | DOTALL डॉटऑल मोड सक्षम करता है। जहां "." मेटा कैरेक्टर लाइन टर्मिनेटर्स सहित सभी वर्णों से मिलान करता है। |
| 5 | LITERAL पैटर्न के लिटरल पार्सिंग को सक्षम करता है। यानी इनपुट अनुक्रम में सभी मेटाकैरेक्टर्स और एस्केप सीक्वेंस को लिटरल वर्णों के रूप में माना जाता है। |
| 6 | MULTILINE मल्टीलाइन मोड सक्षम करता है यानी संपूर्ण इनपुट अनुक्रम को एक लाइन के रूप में माना जाता है। |
| 7 | UNICODE_CASE यूनिकोड-अवेयर केस फोल्डिंग सक्षम करता है यानी CASE_INSENSITIVE के साथ उपयोग करने पर यदि आप रेगुलर एक्सप्रेशन का उपयोग करके यूनिकोड वर्णों को खोजते हैं तो दोनों केस के यूनिकोड वर्ण मिलान किए जाएंगे। |
| 8 | UNICODE_CHARACTER_CLASS प्रीडिफाइंड कैरेक्टर क्लासेस और POSIX कैरेक्टर क्लासेस के यूनिकोड संस्करण को सक्षम करता है। |
| 9 | UNIX_LINES यह फ्लैग यूनिक्स लाइन्स मोड को सक्षम करता है। |
इस क्लास का flags() मेथड वर्तमान पैटर्न में उपयोग किए गए फ्लैग को लौटाता है।
उदाहरण
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-YYYY प्रारूप में तिथि स्वीकार करने के लिए रेगुलर एक्सप्रेशन
String regex = "^(1[0-2]|0[1-9])/ # महीने के लिए\n"
+ "(3[01]|[12][0-9]|0[1-9])/ # तारीख के लिए\n"
+ "[0-9]{4}$ # वर्ष के लिए";
// पैटर्न ऑब्जेक्ट बनाना
Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
// मैचर ऑब्जेक्ट बनाना
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