ลองใช้ชื่ออื่น
ยังคงทำงานกับการวิเคราะห์ sentiment บน Twitter อยู่ ครั้งนี้จะวิเคราะห์บางสิ่งที่น่าสนใจที่พบระหว่างทาง นั่นคือพบว่ามีที่อยู่อีเมลแทรกอยู่ในทวีตบางรายการ และอยากรู้ว่าชื่อใดที่ปรากฏบ่อยที่สุด
เป้าหมายคือดึงส่วนแรกของอีเมลออกมา เช่น หากมีอีเมล [email protected] จะสนใจเฉพาะส่วน marysmith90 เท่านั้น
ต้องจับคู่ทั้ง expression เพื่อให้แน่ใจว่าดึงเฉพาะชื่อที่อยู่ในอีเมล นอกจากนี้ สนใจเฉพาะชื่อที่ประกอบด้วยตัวอักษรพิมพ์ใหญ่ (เช่น A, B, Z) พิมพ์เล็ก (เช่น a, d, z) และตัวเลขเท่านั้น
รายการ sentiment_analysis ที่มีข้อความของทวีตสามรายการ รวมถึงโมดูล re ถูกโหลดไว้ในเซสชันแล้ว สามารถใช้ print() เพื่อดูข้อมูลใน IPython Shell ได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Regular Expressions ใน Python
คำแนะนำการฝึกหัด
- เติม regex ให้สมบูรณ์เพื่อจับคู่อีเมลโดย capture เฉพาะส่วนชื่อ ซึ่งอยู่ก่อนเครื่องหมาย
@ - ค้นหาผลลัพธ์ที่ตรงกันทั้งหมดของ regex ในแต่ละ element ของ
sentiment_analysisแล้ว assign ให้กับตัวแปรemail_matched - เติม method
.format()ให้สมบูรณ์เพื่อแสดงผลลัพธ์ที่ capture ได้จากแต่ละ element ของsentiment_analysis
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Write a regex that matches email
regex_email = r"___[____]____\S+"
for tweet in sentiment_analysis:
# Find all matches of regex in each tweet
email_matched = re.____(____, ____)
# Complete the format method to print the results
print("Lists of users found in this tweet: {}".format(____))