मैं ईमेल के सादा पाठ प्रतिलेखों से ईमेल पते निकालने का प्रयास कर रहा हूं। मैंने पते को खोजने के लिए थोड़ा सा कोड एकत्र किया है, लेकिन मुझे नहीं पता कि यह उनके बीच भेदभाव कैसे करें; अभी यह फ़ाइल में सभी ईमेल पतों को थूकता है। मैं इसे बनाना चाहता हूं, इसलिए यह केवल उन पते को थूकता है जो "से:" और कुछ वाइल्डकार्ड वर्णों से पहले होते हैं, और ">" के साथ समाप्त होते हैं (क्योंकि ईमेल [नाम] < [ईमेल] के रूप में सेट किए गए हैं>)।ईमेल टेक्स्ट से "प्रेषक" पते को पार्सिंग
यहाँ अब कोड है:
import re #allows program to use regular expressions
foundemail = []
#this is an empty list
mailsrch = re.compile(r'[\w\-][\w\-\.][email protected][\w\-][\w\-\.]+[a-zA-Z]{1,4}')
#do not currently know exact meaning of this expression but assuming
#it means something like "[stuff]@[stuff][stuff1-4 letters]"
# "line" is a variable is set to a single line read from the file
# ("text.txt"):
for line in open("text.txt"):
foundemail.extend(mailsrch.findall(line))
# this extends the previously named list via the "mailsrch" variable
#which was named before
print foundemail
हे, पोस्ट की तरह दिखता है जबकि मैं अभी भी मेरा टाइप कर रहा था। हम एक ही अंत परिणाम के बारे में आए, लेकिन आप वास्तव में mailsrc.findall() का उपयोग कर सकते हैं - यदि केवल एक समूह है तो यह उस समूह के लिए मैचों की एक सूची देता है ताकि सूची समझ की आवश्यकता से बचा जा सके। – Jay
यह सही है, धन्यवाद! मैं जय की कोशिश भी करूंगा ताकि मैं कुछ अलग संस्करण प्राप्त कर सकूं। व्यापक स्पष्टीकरण के लिए भी धन्यवाद। –
दिलचस्प, मुझे नहीं पता था कि ... कार्य करने के लिए एक अजीब तरीका है:? –