नोट: Examples provided are in Python.
हालांकि अवधारणा समान है।
'.'
एक मेल प्रतीक है जो न्यूलाइन वर्ण को छोड़कर किसी भी वर्ण से मेल खाता है (यह भी re.DOTALL
पायथन में तर्क के साथ ओवरराइड किया जा सकता है )। इसलिए इसे वाइल्डकार्ड भी कहा जाता है ।
'*'
एक है परिमाणक (परिभाषित करता है कि कितनी बार एक तत्व हो सकता है)। {0,} के लिए छोटा है ।
इसका मतलब है "शून्य या उससे अधिक मिलान" - वह समूह जो स्टार से पहले होता है, पाठ में किसी भी संख्या में हो सकता है। यह पूरी तरह से अनुपस्थित या बार-बार दोहराया जा सकता है।
'?'
एक क्वांटिफायर भी है । {0,1} के लिए छोटा है ।
इसका अर्थ है "मैच शून्य या इस प्रश्न चिह्न से पहले समूह में से एक।" इसकी व्याख्या भी की जा सकती है क्योंकि प्रश्न चिह्न से पहले का भाग वैकल्पिक है ।
उदाहरण के लिए:
pattern = re.compile(r'(\d{2}-)?\d{10}')
mobile1 = pattern.search('My number is 91-9999988888')
mobile1.group()
Output: '91-9999988888'
mobile2 = pattern.search('My number is 9999988888')
mobile2.group()
Output: '9999988888'
उपरोक्त उदाहरण '?' यह इंगित करता है कि पूर्ववर्ती दो अंक वैकल्पिक हैं। वे एक साथ सबसे अधिक बार घटित या घटित नहीं हो सकते हैं।
के बीच अंतर '।' तथा '?':
'.'
नियमित अभिव्यक्ति में जिस स्थान पर पकड़ है, उसके लिए किसी एकल वर्ण को मैच / स्वीकार / सत्यापित करता है ।
उदाहरण के लिए:
pattern = re.compile(r'.ot')
pattern.findall('dot will identify both hot and got.')
Output: ['dot', 'hot', 'got']
'?'
इससे पहले वाले समूह के शून्य या एकल घटना का मिलान / सत्यापन करता है ।
मोबाइल नंबर का उदाहरण देखें।
उसी के साथ जाता है '*'
। यह समूह के शून्य या अधिक घटनाओं की जाँच करेगा ।
मेल:
'.*'
: उपलब्ध के रूप में कई अनुक्रम स्वीकार करता है। लालची दृष्टिकोण ।
'.*?
'पहला मिलान क्रम स्वीकार करता है और रुक जाता है। गैर-लालची दृष्टिकोण
अधिक जानकारी के लिए, दो प्रश्नों को पढ़ने पर विचार करें ...