ยินดีต้อนรับกลับ.
จนถึงตอนนี้ เราพูดถึงนิพจน์ทั่วไปค่อนข้างหลวม
และฉันหมายความว่าคุณควรเข้าใจว่ามันช่วยให้เราจับคู่สิ่งต่าง ๆ เข้าด้วยกัน
แต่ปัญหาก็คือ ฉันจะนำสิ่งนี้ไปใช้กับสถานการณ์ในชีวิตจริงได้อย่างไร
กรณีการใช้งานที่ดีอาจเป็นเมื่อคุณรวบรวมอีเมล บางทีคุณกำลังสร้างการเริ่มต้น
การเริ่มต้นนี้ต้องการรวบรวมอีเมลของลูกค้าที่สนใจ
ตอนนี้เราต้องการให้แน่ใจว่าใครก็ตามที่สนใจในการเริ่มต้นของเราป้อนที่อยู่อีเมลที่ถูกต้องใช่ไหม
เพราะเราไม่ต้องการให้ใครกรอกฐานข้อมูลหรือแผ่นงาน Excel ของเราด้วยการสุ่ม
คำ.
เราต้องการให้แน่ใจว่ามีบางอย่างเป็นอีเมลที่ถูกต้อง
มิฉะนั้นจะมีข้อความว่า เฮ้ นี่ไม่ใช่อีเมลที่ถูกต้อง
กรุณาลองอีกครั้ง.
และนิพจน์ทั่วไปเป็นสิ่งที่ดีที่จะใช้สำหรับการตรวจสอบความถูกต้อง และทำให้แน่ใจว่าสิ่งที่ผู้ใช้ป้อนหรือเครื่องอื่นใดที่ป้อนลงในโค้ดของคุณอยู่ในรูปแบบที่ถูกต้อง
ให้ฉันแสดงตัวอย่างว่าฉันจะทำสิ่งนี้อย่างไร
สมมติว่าฉันต้องการตรวจสอบอีเมล
สิ่งแรกที่ฉันจะทำคือพิมพ์ใน Python การตรวจสอบความถูกต้องอีเมล regex
และที่นี่คุณจะเห็นว่าเรามีวิธีตรวจสอบที่อยู่อีเมลที่ถูกต้องมากมาย
และคำตอบสองสามข้อแรกน่าจะเป็นสิ่งที่คุณกำลังมองหา
ฉันชอบที่อยู่อีเมลนี้ นิพจน์ทั่วไปที่ใช้งานได้ 99 99% ของเวลา
นั่นก็เพียงพอแล้วสำหรับฉัน
ในที่นี้คุณจะเห็นว่าเรามีแนวคิดว่าเราจะใช้อะไรได้บ้างหากเลื่อนลงมา
ดูเหมือนว่าเรามีนิพจน์ทั่วไปสำหรับภาษาต่างๆ
เอาล่ะ มาทำ Python กัน
ฉันจะคัดลอกสิ่งนี้
และตอนนี้ในนี้ ไปที่นิพจน์ทั่วไป ตัวต่อตัว และคัดลอกนี่ในนี้
ตอนนี้ฉันได้รับข้อผิดพลาดเพราะคุณเห็นว่าที่นี่รวม R แล้วเพราะฉันเลือก Python ที่นี่
งั้นเอาเลย
วงเล็บ
อีกครั้ง ถ้าเราวางเมาส์ไว้ตรงนี้ มันจะบอกเราเกี่ยวกับแต่ละอย่างที่มันพยายามจะทำ
และเรายังมีคำอธิบาย
นี่คือวิธีที่ฉันชอบใช้นิพจน์ทั่วไป
ฉันพบบางอย่างออนไลน์ที่คนเคยใช้ในอดีต
ฉันไม่ได้พยายามคิดค้นล้อใหม่และพยายามทำความเข้าใจ
เพื่อทดสอบสิ่งนี้ ถ้าฉันพิมพ์ที่อยู่อีเมลที่นี่ ดูนั่นสิ
ฉันได้แมตช์ ฉันได้แมตช์เต็ม และตรงกับกลุ่มที่หนึ่ง
ไปกันเลยละกัน
ครั้งแรกที่ฉันเห็นว่าฉันมีวงเล็บ
นี่คือกลุ่มจับ
ฉันกำลังพยายามจับจุดข้อมูลหนึ่งจุด
ถ้าสมมุติว่าฉันป้อนอีเมลอื่นที่นี่
ที่จะไม่จับมัน
ถ้าไปแบบนี้จะไม่จับครับ
เพราะในขณะที่เรากำลังมองหากลุ่มจับกลุ่มหนึ่งอยู่
ตกลง.
ต่อไป ฉันเห็นว่ามันกำลังยืนยันตำแหน่งที่จุดเริ่มต้นของบรรทัด
จุดเริ่มต้นของเส้น เราต้องการให้แน่ใจว่ามันจับสิ่งนี้
ดังนั้นมันจึงจับคู่อักขระตัวเดียวที่มีอยู่ในชุด
ดังนั้นอีเมลนี้สามารถเป็นอะไรก็ได้ ไม่ว่าจะเป็นตัวอักษร ตัวเลข
และในที่สุดก็สามารถขีดเส้นใต้ได้
มันอาจมีจุดอยู่ในนั้น มันสามารถมีบวก มันสามารถมีลบ
แล้วสุดท้ายบวกก็คือปริมาณ
ดังนั้นมันจึงจับคู่ระหว่างหนึ่งครั้งและไม่จำกัดครั้ง
ดังนั้นสตริงนี้สามารถยาวได้ตราบเท่าที่ฉันต้องการและยังคงใช้งานได้
มันจะยอมรับบวกลบ
มันจะยอมรับขีดล่าง
แต่จะไม่ยอมรับ
เครื่องหมายอัศเจรีย์เพราะไม่อยู่ในนี้
ไม่เป็นไร.
นั่นเป็นสิ่งที่ดี
แล้วต่อไปล่ะ?
ส่วนต่อไปคือเครื่องหมาย
มันเป็นสัญลักษณ์อย่างแท้จริง
เราต้องแน่ใจว่าเรามีมัน
และหลังจากป้ายอีกครั้ง เรามีอักขระที่เราสามารถใช้กับเครื่องหมายบวกที่ท้ายเพื่อบอกว่า เฮ้ คุณสามารถมีอักขระเหล่านี้ได้มากเท่าที่คุณต้องการ
สมบูรณ์แบบ.
ต่อไปเรามีความพิเศษ
จับคู่อักขระ dot ตามตัวอักษรดังนั้นเพราะว่า dot และ regex ถ้าฉันลบออกจริง ๆ แล้วหมายถึงบางสิ่งที่ตรงกับอักขระตัวใดตัวหนึ่ง
เราต้องการให้แน่ใจว่าจุดดีคือสิ่งที่เรากำลังมองหา
จำเป็นต้องมีจุดสำหรับสมมติว่า dot com หรือ k หรือ dot net หรือ dot org
ถ้าฉันไม่มีเครื่องหมายทับ นี่อาจเป็นอักขระใดก็ได้
ยังคงเป็นสตริงที่ตรงกันโดยไม่มีจุด
อักขระพิเศษอีกแล้ว
ที่นี่.
และอีกครั้ง มันให้คำอธิบายกับคุณจริงๆ
ดังนั้น ถ้าคุณเลื่อนลงมาตรงนี้ ฉันจะบอกคุณอย่างแน่ชัดว่ามันทำอะไร
ไม่เป็นไร.
หลังจากจุด เรามีอะไรอีกแล้ว
ที่เราต้องการภายในวงเล็บเหลี่ยมเหล่านี้ ตราบเท่าที่เราต้องการ
และสุดท้ายเครื่องหมายดอลลาร์นี้บอกว่า เฮ้ มันต้องจบลงด้วยนี่
นี่คือจุดสิ้นสุดของบรรทัด
สุดยอด.
เมื่อใช้สิ่งนี้ เราสามารถหาวิธีตรวจสอบอีเมลได้อย่างแม่นยำ
ทั้งหมดที่ฉันต้องทำตอนนี้คือ ไปที่ตัวสร้างโค้ด
คัดลอกโค้ดชิ้นนี้
อีกครั้งที่เราใช้สตริงดิบเพราะเราต้องการให้แน่ใจว่าล่าม Python ไม่ได้พยายามเพิ่มความสามารถพิเศษใดๆ
ลงไป
เราแค่ต้องการให้แน่ใจว่านี่เป็นสตริงดิบ
ตรวจสอบให้แน่ใจว่าฉันสิ้นสุดที่
ไม่เป็นไร.
สมบูรณ์แบบ.
ตอนนี้ในสตริงนี้ สมมติว่าฉันมีที่อยู่อีเมลที่ผู้ใช้ส่งถึงฉัน เช่น อยู่ที่
B dot com
ถ้าฉันลบทั้งหมดนี่แล้วทำแพทเทิร์น
เรามาทำกันให้ดีๆ กันเถอะ มาเช็คกันดีกว่าว่า a มีอยู่จริงไหม ถ้าฉันคลิก run
เอาล่ะ แมทช์นี้
แต่ถ้าใครให้ที่อยู่อีเมลผิดหรือบางอย่างที่ฟอร์แมตไม่ถูกต้อง สมมติว่าแบบนี้
และฉันคลิกเรียกใช้
ฉันไม่ได้รับ
ผมก็เลยทำ if ประโยคที่ว่า เฮ้ ถ้าไม่มีวัตถุที่ตรงกัน ก็บอกพวกเขา ขอโทษ ลองอีกครั้ง
เยี่ยมมาก
ดังนั้นฉันจึงมีแบบฝึกหัดสำหรับคุณ
ใช้สิ่งที่คุณเพิ่งเรียนรู้และทักษะ Google ของคุณอย่างแน่นอน เพราะด้วยสำนวนปกติ คุณจะเป็น
Google
คุณจะไม่จำสิ่งนี้
ฉันหมายความว่าฉันไม่
สิ่งที่ฉันต้องการให้คุณทำคือสร้างตัวตรวจสอบรหัสผ่านด้วย
ดังนั้นรหัสผ่านจะต้องมีข้อกำหนดบางประการ
ดังนั้นรหัสผ่านต้องมีความยาวอย่างน้อยแปดอักขระ
และมันสามารถมีตัวอักษรประเภทใดก็ได้
ตัวเลข
และคุณรู้ว่ามันสามารถบรรจุอะไรได้บ้าง
แล้วสัญลักษณ์เหล่านี้ล่ะ?
แค่นั้นแหละ.
เขียนนิพจน์ทั่วไปแบบนี้ โดยใช้ regex 101 นี้
และในวิดีโอหน้า เราจะลองทำสิ่งนี้เช่นกัน
เจอกันใหม่ตอนหน้าค่ะ
ลาก่อน.