ยินดีต้อนรับกลับ.
จนถึงขณะนี้ เราพบเพียงรูปแบบง่ายๆ
รูปแบบข้อความอย่างง่ายในสตริงของเรา
ไม่มีอะไรบ้าเกินไป
แต่นิพจน์ทั่วไปมีประโยชน์จริง ๆ สำหรับรูปแบบขั้นสูง
คุณเห็นไหม ด้วยนิพจน์ทั่วไป คุณสามารถทำรูปแบบแปลกๆ อย่างเช่น สมมุติว่านี่ และนี่ดูเหมือนพูดพล่อยๆ
ใช่ไหม?
แต่นี่หมายถึงบางอย่างในนิพจน์ทั่วไป
คุณสามารถนึกถึงนิพจน์ทั่วไปเป็นภาษาทั้งภาษาได้ด้วยรูปแบบต่างๆ
ที่คุณใช้เพื่อค้นหารูปแบบภายในข้อความ
ตอนนี้ โลกทั้งใบของการแสดงออกทั่วไปนั้นซับซ้อนจริงๆ
ในฐานะโปรแกรมเมอร์ ฉันไม่ได้คาดหวังให้คุณเรียนรู้รูปแบบเหล่านี้ทั้งหมด
คุณสามารถดูบางส่วนได้ที่นี่
เรามีลำดับพิเศษที่หมายถึงบางอย่างเช่น Slash DD ส่งคืนการจับคู่โดยที่สตริงมีตัวเลขตั้งแต่
0 ถึง 9
คุณมีสิ่งต่าง ๆ เช่น เซตตรงนี้ ซึ่งถ้าคุณพิมพ์นิพจน์ทั่วไป สิ่งนี้จะส่งกลับการจับคู่อักขระใดๆ
ที่เรียงตามตัวอักษรระหว่าง A และ Z ไม่ว่าจะเป็นตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่
ดังนั้นจึงมีทางลัดและลูกเล่นเล็กๆ น้อยๆ เหล่านี้ที่พวกเขาสามารถเขียนในนิพจน์ทั่วไปได้
และสิ่งต่างๆ ก็อาจซับซ้อนได้จริงๆ
ดังนั้นจึงไม่มีใครจำสิ่งเหล่านี้ได้จริงๆ
คุณพัฒนามันตามความต้องการที่เกิดขึ้น
และที่จริงแล้ว ต่อมาในวิดีโอ เราจะทำแบบฝึกหัด โดยเราจะทดลองกับสิ่งนี้จริง ๆ และสร้างตัวตรวจสอบรหัสผ่านและตัวตรวจสอบอีเมล
หนึ่งในเครื่องมือที่ฉันชอบจริงๆ คือ RegEx 101
มันสุดยอดมาก มีประโยชน์มาก
สิ่งที่คุณทำคือเราจะเลือก Python และมันจะให้นิพจน์ทั่วไปและพื้นที่ทดสอบให้คุณทดสอบ
เช่น ถ้าฉันเขียนว่า Hey, how are you?
ตอนนี้ฉันสามารถป้อนนิพจน์ทั่วไปที่นี่และลองทำสิ่งต่างๆ ได้
เช่น ถ้าฉันพิมพ์คำว่า เฮ้
คุณเป็นอย่างไรบ้าง
อืม.
นี่มันใช้ไม่ได้จริงๆ
บางทีฉันอาจเพิ่มคำพูดที่นี่
แต่ไม่มี.
และมันให้ตัวเลือกและข้อมูลบางอย่างแก่คุณเกี่ยวกับสิ่งที่คุณสามารถใช้ได้
ตัวอย่างเช่น สมมติว่าเราต้องการตรวจสอบว่า
ทีนี้ ตรงนี้ ตัวละครในช่วง A ถึง Z หรือ A ถึง Z
ถ้าฉันคัดลอกสิ่งนี้
และฉันก็วางมันลงไป
ดูนั่น.
มันทำให้ฉันตรงกับที่ฉันมี
ในกรณีนี้ฉันกำลังตรวจสอบเพื่อดูว่าตรงกับอักขระใด ๆ ระหว่าง A ถึง Z หรือไม่?
ทั้งตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
ตอนนี้ทุกอย่างตรงกัน
คุณจะเห็นว่าตรงนี้เรามีคู่ที่หนึ่ง คู่ที่สอง คู่ที่สาม และอื่นๆ เป็นต้น
ฉันยังจัดกลุ่มสิ่งต่างๆ เพื่อทำวงเล็บที่นี่ได้
และตอนนี้ก็เป็นกลุ่มแรกที่จับได้
แล้วฉันก็สามารถทำอย่างอื่นที่นี่ได้
สมมติว่าในนี้ฉันต้องการ ให้พูดอะไรก็ตามที่เป็น
แล้วมันหมายความว่าอย่างไรที่นี่?
ฉันมีคำอธิบายทางด้านขวามือ
กลุ่มผู้จับกลุ่มแรกพูดว่า เฮ้ จับคู่อักขระตัวเดียวในรายการด้านล่าง
มันบอกคุณ A ถึง Z
ทุน A ถึง Z
จากนั้นกลุ่มที่สองคือ เฮ้ จับคู่อักขระตัวเดียวในรายการด้านล่างซึ่งก็คือ
a
ตอนนี้ในนี้ ฉันมีกลุ่มจับสองกลุ่ม
กลุ่มจับกลุ่มแรก ตามด้วยกลุ่มจับกลุ่มที่สอง
ถ้าฉันเพิ่มจุดที่นี่ ซึ่งเป็นความหมายพิเศษและนิพจน์ทั่วไป ถ้าฉันวางเมาส์เหนือ
คุณเห็นว่าตรงกับอักขระใดๆ ยกเว้นตัวสิ้นสุดบรรทัด
แล้วฉันมาทำอะไรที่นี่?
ดีฉันมีครั้งแรก
เฮ้ ฉันต้องการให้คุณตรวจสอบกลุ่มที่จับภาพกลุ่มแรก ซึ่งเป็นอักขระตัวเดียวในช่วงระหว่าง
A ถึง Z
แล้วหลังจากนั้น ฉันก็อยากได้ตัวละครตัวใดตัวหนึ่ง
แล้วหลังจากนั้น ฉันอยากให้คุณค้นหาคู่ที่ตรงกันของ a ให้ดี
ดังนั้นนี่คือสิ่งที่เราคู่ควร
เราอาจจับคู่ W ได้เพราะเรากำลังมองหาตัวอักษรใดๆ ก็ตาม จากนั้นเว้นวรรคหรืออักขระใดๆ แล้วตามด้วย
A
ตอนนี้เรามีการแข่งขันแบบฟูลแมตช์ นั่นคือ w2a แล้วเราก็มีกลุ่มที่หนึ่ง
ซึ่งก็คือ w เพราะมันตรงกับกลุ่มแรกแล้วกลุ่มที่สองซึ่งตรงกับกลุ่ม A
ตอนนี้ฉันรู้แล้วว่ามันน่าสับสน
นิพจน์ทั่วไปเป็นหนึ่งในสิ่งที่ยากจะเข้าใจในตอนแรก
ให้ฉันแสดงให้คุณเห็นว่าเราจะใช้มันได้อย่างไร
ถ้าฉันไปที่ตัวสร้างโค้ดที่นี่ คุณจะเห็นว่าฉันสามารถให้ตัวอย่างโค้ดที่คุณสามารถใช้ใน
Python ได้
แต่สิ่งที่ฉันชอบทำคือการคัดลอกข้อความชิ้นนี้จริงๆ
แบบนี้.
และกลับไปที่ตัวแก้ไขโค้ดของเราและในคอมไพล์
แปะไว้.
ตอนนี้ คุณจะสังเกตเห็นว่ามี R อยู่ที่นี่ และ R ย่อมาจาก raw string เพราะใน Python บางอย่างเช่น
slash backslash มีความหมายพิเศษ
เพราะอย่าลืมว่าด้วยแบ็กสแลช เราสามารถทำสิ่งพิเศษ เช่น ขึ้นบรรทัดใหม่หรือแท็บได้
R พูดว่า เฮ้ นี่เป็นสตริงดิบ
ละเว้นทุกสิ่งที่ล่าม Python อาจตีความ
ฉันต้องการให้มันเป็นแค่สตริงล้วนๆ ดังนั้นคุณจะเห็นสิ่งนี้มากมายด้วยนิพจน์ทั่วไป
ตอนนี้ถ้าฉันเรียกใช้รหัสนี้
คุณเห็นว่าฉันมี ACA ที่นี่
อีกครั้งที่เป็นเพราะฉันกำลังมองหา
จดหมายตามด้วยอะไรก็ได้ตามด้วยก.
และถ้าฉันมีกลุ่มที่นี่ ซึ่งฉันกำลังค้นหา ถ้าฉันมีกลุ่มที่หนึ่ง
ฉันได้รับ s ถ้าฉันทำกลุ่ม
ฉันได้รับเช่นเดียวกับที่เราทำในสนามเด็กเล่นของเราที่นี่
มีประโยชน์อีกอย่างอยู่ที่นี่
หากคุณดูข้อมูลอ้างอิงด่วน คุณสามารถค้นหาสิ่งต่างๆ ได้จริง
สมมติว่าฉันต้องการตรวจสอบว่าสตริงทดสอบอาจเริ่มต้นด้วยหรือไม่
ฉันสามารถพิมพ์ start ที่นี่ และคุณจะเห็นว่า oh มันให้การอ้างอิงอย่างรวดเร็วแก่ฉัน
ดังนั้น ถ้าฉันเริ่มด้วยสตริง มันแสดงว่า เฮ้ ใช้อักขระนี้ และมันจะช่วยคุณสร้างสตริงเริ่มต้น
ถ้าฉันทำ สมมติว่าในนี้แครอทนี้ และพูดว่า เฮ้ ดูนั่น มันเหมาะกับฉัน
มันบอกว่า เฮ้ ยืนยันตำแหน่งที่จุดเริ่มต้นของบรรทัด
มันอธิบายอย่างชัดเจนว่ามันทำงานอย่างไรและบอกฉันว่าฉันมีการแข่งขันเต็มรูปแบบที่นี่
ส่วนใหญ่แล้ว วิธีที่คุณใช้นิพจน์ทั่วไปไม่ใช่แบบนี้
มันคงค่อนข้างยากถ้าคุณแค่ค้นหาทุกอย่างด้วยตัวเอง
อย่างที่ฉันพูดไป ไม่มีใครจำสิ่งเหล่านี้ได้จริงๆ
คุณจะเห็นว่าเรามีข้อมูลอ้างอิงสั้นๆ เกี่ยวกับโทเค็นทั่วไปที่คุณสามารถดูและทำความเข้าใจได้
แต่วิธีที่ใช้ได้จริงมากกว่าในการเรียนรู้เกี่ยวกับนิพจน์ทั่วไปจริง ๆ คือการดูกรณีการใช้งานจริง
ตอนนี้ ฉันจะออกแบบฝึกหัดให้คุณ ซึ่งคุณสามารถทำได้ หากคุณต้องการเรียนรู้เกี่ยวกับรูปแบบทั่วไปบางอย่างจากประสบการณ์ของฉัน
นี่ไม่ใช่สิ่งที่ใครจะถามคุณในการสัมภาษณ์
คุณไม่จำเป็นต้องจำนิพจน์ทั่วไปจริงๆ
คุณเพียงแค่ต้องรู้ว่าสิ่งที่พวกเขาทำ
ลองออกกำลังกายถ้าคุณต้องการ
มิฉะนั้น พบกันใหม่ในวิดีโอหน้าเพื่อแสดงให้คุณเห็นว่าจะใช้นิพจน์ทั่วไปในสถานการณ์จริงอย่างไร
เจอกันในนั้นครับ
ลาก่อน.