ईमेल पतों काफ़ी जटिल हैं और पूरी दुनिया में उनका पालन नहीं किया जा रहा है, जिससे रेगेक्स में ईमेल की पहचान करना मुश्किल हो जाता है। RFC 5322 ईमेल पते के प्रारूप को निर्दिष्ट करता है। हम टेक्स्ट से ईमेल पते निकालने के लिए इस प्रारूप का उपयोग करेंगे।
उदाहरण के लिए, किसी दिए गए इनपुट स्ट्रिंग के लिए -
Hi my name is John and email address is john.doe@somecompany.co.uk and my friend's email is jane_doe124@gmail.com
हमें आउटपुट मिलना चाहिए -
john.doe@somecompany.co.uk jane_doe124@gmail.com
एक्सट्रैक्शन के लिए हम निम्नलिखित रेगेक्स का उपयोग कर सकते हैं -
[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+
हम फिर से मॉड्यूल से सभी विधि खोजें का उपयोग करके ईमेल पते निकाल सकते हैं। उदाहरण के लिए,
उदाहरण
import re my_str = "Hi my name is John and email address is john.doe@somecompany.co.uk and my friend's email is jane_doe124@gmail.com" emails = re.findall("([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)", my_str) for mail in an email: print(mail)
आउटपुट
यह आउटपुट देगा -
john.doe@somecompany.co.uk jane_doe124@gmail.com