खोज…


[0-9] या \ d (जावा) का उपयोग करके एक एकल अंक चरित्र से मेल खाएं

[0-9] और \d बराबर पैटर्न हैं (जब तक कि आपका रेगेक्स इंजन यूनिकोड-जागरूक नहीं है और \d ② जैसे चीजों से भी मेल खाता है)। वे दोनों एक एकल अंक चरित्र से मेल खाएंगे, ताकि आप जो भी अधिक पढ़ने योग्य पाते हैं, जो भी अंकन का उपयोग कर सकें।

जिस पैटर्न का आप मिलान करना चाहते हैं, उसकी एक स्ट्रिंग बनाएँ। अगर \ d नोटेशन का उपयोग कर रहे हैं, तो आपको पहले बैकस्लैश से बचने के लिए दूसरा बैकस्लैश जोड़ना होगा।

String pattern = "\\d";

एक पैटर्न ऑब्जेक्ट बनाएँ। संकलन () विधि में पैटर्न स्ट्रिंग पास करें।

Pattern p = Pattern.compile(pattern);

एक मिलान वस्तु बनाएँ। स्ट्रिंग को पास करें जिसे आप मिलानकर्ता () पद्धति में पैटर्न ढूंढ रहे हैं। यह देखने के लिए जांचें कि क्या पैटर्न मिला है।

Matcher m1 = p.matcher("0");
m1.matches(); //will return true

Matcher m2 = p.matcher("5");
m2.matches(); //will return true

Matcher m3 = p.matcher("12345");
m3.matches(); //will return false since your pattern is only for a single integer

विभिन्न संख्याओं का मिलान

[ab] जहाँ a और b 0 से 9 की सीमा में अंक हैं

[3-7] will match a single digit in the range 3 to 7.

कई अंकों का मिलान

\d\d       will match 2 consecutive digits
\d+        will match 1 or more consecutive digits
\d*        will match 0 or more consecutive digits
\d{3}      will match 3 consecutive digits
\d{3,6}    will match 3 to 6 consecutive digits
\d{3,}     will match 3 or more consecutive digits

उपरोक्त उदाहरणों में \d को एक संख्या सीमा से बदला जा सकता है:

[3-7][3-7]    will match 2 consecutive digits that are in the range 3 to 7
[3-7]+        will match 1 or more consecutive digits that are in the range 3 to 7
[3-7]*        will match 0 or more consecutive digits that are in the range 3 to 7
[3-7]{3}      will match 3 consecutive digits that are in the range 3 to 7
[3-7]{3,6}    will match 3 to 6 consecutive digits that are in the range 3 to 7
[3-7]{3,}     will match 3 or more consecutive digits that are in the range 3 to 7

आप विशिष्ट अंकों का चयन भी कर सकते हैं:

[13579]       will only match "odd" digits
[02468]       will only match "even" digits
1|3|5|7|9     another way of matching "odd" digits - the | symbol means OR

उन श्रेणियों में मिलान संख्याएँ जिनमें एक से अधिक अंक हैं:

\d|10        matches 0 to 10    single digit OR 10.  The | symbol means OR
[1-9]|10     matches 1 to 10    digit in range 1 to 9 OR 10
[1-9]|1[0-5] matches 1 to 15    digit in range 1 to 9 OR 1 followed by digit 1 to 5
\d{1,2}|100  matches 0 to 100   one to two digits OR 100

अन्य संख्याओं से विभाजित होने वाली मिलान संख्या:

\d*0         matches any number that divides by 10  - any number ending in 0
\d*00        matches any number that divides by 100 - any number ending in 00
\d*[05]      matches any number that divides by 5   - any number ending in 0 or 5
\d*[02468]   matches any number that divides by 2   - any number ending in 0,2,4,6 or 8

मिलान संख्या जो 4 से विभाजित होती है - कोई भी संख्या जो 0, 4 या 8 है या 00, 04, 08, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60 में समाप्त होती है , 64, 68, 72, 76, 80, 84, 88, 92 या 96

[048]|\d*(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)

इसे छोटा किया जा सकता है। उदाहरण के लिए, 20|24|28 का उपयोग करने के बजाय हम 2[048] उपयोग कर सकते हैं। इसके अलावा, 40s, 60s और 80s में भी यही पैटर्न है कि हम उन्हें शामिल कर सकते हैं: [02468][048] और बाकी लोगों का भी पैटर्न है [13579][26] । तो पूरे क्रम को कम किया जा सकता है:

[048]|\d*([02468][048]|[13579][26])    - numbers divisible by 4

मिलान करने वाली संख्याएँ जिनके पास 2,4,5,10 आदि से विभाज्य जैसे पैटर्न नहीं होते हैं, उन्हें हमेशा सफलतापूर्वक नहीं किया जा सकता है और आपको आमतौर पर कई संख्याओं का सहारा लेना पड़ता है। उदाहरण के लिए उन सभी नंबरों का मिलान जो 1 से 50 की सीमा के भीतर 7 से विभाजित होते हैं, उन सभी नंबरों को सूचीबद्ध करके सरल किया जा सकता है:

7|14|21|28|35|42|49

or you could do it this way

7|14|2[18]|35|4[29]

मैचिंग प्रमुख / अनुगामी व्हाट्सएप

संबद्ध पिछले स्थान

\s*$ : यह पाठ के अंत ( $ ) में किसी भी ( * ) व्हाट्सएप ( \s ) से मेल खाएगा

अग्रणी स्थान

^\s* : यह पाठ के आरंभ ( ^ ) में किसी भी ( * ) व्हाट्सएप ( \s ) से मेल खाएगा

टिप्पणियों

\s _ कई RegExp इंजन के लिए एक सामान्य मेटाचैकर है, और यह व्हाट्सएप वर्णों (रिक्त स्थान, उदाहरण के लिए नए सिरे और टैब) को पकड़ने के लिए है। नोट : यह शायद सभी यूनिकोड अंतरिक्ष वर्णों पर कब्जा नहीं करेगा । इस बारे में सुनिश्चित करने के लिए अपने इंजन के दस्तावेज की जाँच करें।

किसी भी फ्लोट से मिलान करें

[\+\-]?\d+(\.\d*)?

यह किसी भी हस्ताक्षरित फ्लोट से मेल खाएगा, यदि आप संकेत नहीं चाहते हैं या एक समीकरण को हटा रहे हैं [\+\-]? तो आपके पास \d+(\.\d+)?

स्पष्टीकरण:

  • \d+ किसी भी पूर्णांक से मेल खाता है
  • ()? का मतलब है कि कोष्ठक की सामग्री वैकल्पिक है लेकिन हमेशा एक साथ दिखना है
  • '\'। ''।, हमें इस से बचना होगा '।' आम तौर पर किसी भी चरित्र से मेल खाता है

तो यह अभिव्यक्ति मेल खाएगी

5
+5
-5
5.5
+5.5
-5.5

किसी स्थान पर एक शब्द के आधार पर सूची से एक निश्चित रेखा का चयन करना

मेरी निम्न सूची है:

1. Alon Cohen
2. Elad Yaron
3. Yaron Amrani
4. Yogev Yaron

मैं यार्न उपनाम के साथ लोगों के पहले नाम का चयन करना चाहता हूं।

चूँकि मुझे इस बात की कोई परवाह नहीं है कि मैं इसे किस संख्या में डालूँगा क्योंकि यह लाइन के आरंभ से ही जो भी अंक है और एक मिलान डॉट और स्पेस है, वह इस तरह से होगा: ^[\d]+\.\s

अब हमें अंतरिक्ष और पहले नाम का मिलान करना होगा, क्योंकि हम यह नहीं बता सकते हैं कि क्या यह पूंजी या छोटे अक्षर हैं जो हम दोनों से मेल खाएंगे: [a-zA-Z]+\s या [aZ]+\s और [\w]+\s भी हो सकते हैं।

अब हम यार्न के केवल एक उपनाम (लाइन के अंत में): \sYaron$ रूप में युक्त लाइनें प्राप्त करने के लिए आवश्यक उपनाम निर्दिष्ट करेंगे।

यह सब एक साथ ^[\d]+\.\s[\w]+\sYaron$

लाइव उदाहरण: https://regex101.com/r/nW4fH8/1



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow