เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ลองใช้ชื่ออื่น

ยังคงทำงานกับการวิเคราะห์ 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(____))
แก้ไขและรันโค้ด