यह फ़ंक्शन वैकल्पिक फ्लैग्स के साथ स्ट्रिंग के भीतर RE pattern की पहली घटना को खोजता है।
सिंटैक्स
इस फ़ंक्शन का सिंटैक्स यहां दिया गया है:
re.search(pattern, string, flags=0)
पैरामीटर्स का विवरण:
| क्र.सं. | पैरामीटर और विवरण |
|---|---|
| 1 | pattern मिलान किया जाने वाला रेगुलर एक्सप्रेशन। |
| 2 | string वह स्ट्रिंग जिसमें पैटर्न की शुरुआत में खोज की जाएगी। |
| 3 | flags आप बिटवाइज OR (|) का उपयोग करके अलग-अलग फ्लैग्स निर्दिष्ट कर सकते हैं। ये मोडिफायर्स हैं, जो नीचे दी गई तालिका में सूचीबद्ध हैं। |
re.search फ़ंक्शन सफलता पर match ऑब्जेक्ट लौटाता है, विफलता पर None। हम मिलान की गई अभिव्यक्ति प्राप्त करने के लिए match ऑब्जेक्ट के group(num) या groups() फ़ंक्शन का उपयोग करते हैं।
| क्र.सं. | मैच ऑब्जेक्ट मेथड और विवरण |
|---|---|
| 1 | group(num=0) यह मेथड संपूर्ण मिलान (या विशिष्ट उपसमूह num) लौटाता है। |
| 2 | groups() यह मेथड सभी मिलान करने वाले उपसमूहों को एक टुपल में लौटाता है (यदि कोई नहीं थे तो खाली)। |
उदाहरण
#!/usr/bin/python
import re
line = "Cats are smarter than dogs"
searchObj = re.search(r'(.*) are (.*?) .*', line, re.M|re.I)
if searchObj:
print "searchObj.group() : ", searchObj.group()
print "searchObj.group(1) : ", searchObj.group(1)
print "searchObj.group(2) : ", searchObj.group(2)
else:
print "Nothing found!!"
आउटपुट
जब उपरोक्त कोड निष्पादित होता है, तो यह निम्नलिखित परिणाम देता है:
searchObj.group() : Cats are smarter than dogs searchObj.group(1) : Cats searchObj.group(2) : smarter