10 RegEx Tester สำหรับ JavaScript, Python, PHP, Golang, Ruby เป็นต้น

นิพจน์ Regex อาจเป็นความเจ็บปวด บางครั้ง!

มาเรียนรู้เกี่ยวกับนิพจน์ทั่วไปและรูปแบบกันเถอะ เราจะพิจารณารูปแบบที่ดูเหมือนเป็นตัวละครที่ซับซ้อน เราจะเห็นความหมายของอักขระทุกตัวในนิพจน์ทั่วไป

หลังจากอ่านบทความนี้แล้ว คุณจะสามารถสร้างนิพจน์ทั่วไปและใช้งานได้ตามที่คุณต้องการ ในตอนท้าย เราจะแสดงรายการเครื่องมือทดสอบ RegEx ออนไลน์บางส่วน เพื่อให้คุณสามารถสร้าง RegEx ของคุณและทดสอบโดยใช้เครื่องมือเหล่านี้ตามข้อกำหนด

บทนำ

นิพจน์ทั่วไปหรือที่รู้จักกันทั่วไป – RegEx คือลำดับของอักขระใดๆ ที่สามารถใช้เป็นรูปแบบในการค้นหาอักขระหรือสตริงได้

ตัวอย่างเช่น เพื่อตรวจสอบว่าสตริงหรือวลีมีคำว่า “apple” หรือไม่ เราสามารถใช้ regex “/apple” เพื่อค้นหาภายในสตริง อีกตัวอย่างหนึ่ง เราสามารถใช้ “/[0-9]” เพื่อตรวจสอบว่าสตริงที่ระบุมีตัวเลขระหว่าง 0 ถึง 9 หรือไม่

นิพจน์ทั่วไปและการใช้งาน

นิพจน์ทั่วไปมีการใช้กันอย่างแพร่หลายเพื่อวัตถุประสงค์ที่หลากหลายในการดำเนินการที่เกี่ยวข้องกับเว็บในยุคปัจจุบัน การตรวจสอบความถูกต้องของเว็บฟอร์ม เครื่องมือค้นหาเว็บ ตัววิเคราะห์คำศัพท์ใน IDE โปรแกรมแก้ไขข้อความ และโปรแกรมแก้ไขเอกสาร เป็นเพียงตัวอย่างบางส่วนที่ใช้นิพจน์ทั่วไปเป็นประจำ

เราใช้ “CTRL + F” หลายครั้งเพื่อค้นหาภายในเอกสารหรือโค้ดเพื่อค้นหาคำหรือวลีหรือนิพจน์เฉพาะ การดำเนินการนี้สามารถชี้ให้เห็นได้ว่าเป็นตัวอย่างทั่วไปของการใช้นิพจน์ทั่วไป

ก่อนดำเนินการต่อ มาดูนิพจน์ทั่วไปที่ใช้กันทั่วไปกันก่อนดีกว่า

คุณเดาได้ไหม 🤔 RegEX ด้านล่างใช้ทำอะไร?

^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$

ไม่ต้องกังวลหากคุณไม่สามารถเดาได้ ฉันแน่ใจว่าคุณจะสามารถเดาได้ในตอนท้ายของบทความนี้

มาเริ่มกันที่ A, B, C ของ RegEx กันก่อน

โทเค็น

ในการเริ่มต้น ให้ดูที่สัญลักษณ์ต่างๆ ใน ​​Regex ที่แสดงด้านบน

^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$

หากเราดูที่ regex ด้านบน เราจะเห็นว่าประกอบด้วยสัญลักษณ์หรืออักขระหรือโทเค็นจำนวนมาก มาดูกันว่าพวกเขาหมายถึงอะไร:

  ทำไมคุณไม่ควรซื้อ PS5 ดิจิตอลทั้งหมดหรือ Xbox ยุคถัดไป

โทเค็น

ความหมาย

^

โทเค็นนี้แสดงถึงจุดเริ่มต้นของสตริง

(…)

นี่หมายถึงกลุ่มที่ทุกสิ่งที่ได้รับภายใน (…) ถูกจับ

[…]

ดิ [] ล้อมรอบอักขระใด ๆ ที่สามารถจับคู่ได้ ตัวอย่างเช่น – [abc] จะตรงกับ a หรือ b หรือ c

az

ชุดตัวอักษรพิมพ์เล็กจาก a ถึง z เราต้องจำไว้ว่า Regex คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

AZ

ชุดอักขระตัวพิมพ์ใหญ่จาก A ถึง Z

0-9

ตัวเลขตั้งแต่ 0 ถึง 9

_

ซึ่งจะตรงกับอักขระ _

นี่คือตัวละครหลบหนี

.

ตรงกับอักขระ “.” อย่างแท้จริง. นี้ใช้เพราะสัญลักษณ์ “.” ใน regex เป็นโทเค็นในตัวเองซึ่งตรงกับอักขระใด ๆ

+

นี่คือปริมาณ ตรงกับอักขระหนึ่งตัวหรือมากกว่าที่ใช้กับ ตัวอย่างเช่น a+ หมายถึงการเกิดขึ้นของอักขระ a อย่างน้อยหนึ่งรายการ

ซึ่งจะตรงกับอักขระ “-“

@

ซึ่งจะตรงกับอักขระ “@”

{}

นี่เป็นอีกปริมาณหนึ่ง ใช้เพื่อระบุจำนวนการเกิดขึ้นของอักขระ ตัวอย่างเช่น a{3} หมายถึง 3 a เท่านั้น

$

นี่หมายถึงจุดสิ้นสุดของสตริง

แบ่งรูปแบบ Regex ที่กำหนด

ตอนนี้ เมื่อมีความรู้เบื้องต้นเกี่ยวกับโทเค็นแล้ว เรามาลองถอดรหัสนิพจน์ทั่วไปข้างต้นกัน:

  • ^([a-zA-Z0-9_-.]+) หมายถึงเรากำลังมองหาสตริงที่ขึ้นต้นด้วยตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก ตัวพิมพ์เล็ก ขีดล่าง ขีดกลาง หรือจุดอย่างน้อยหนึ่งตัว ตัวอย่างเช่น สิ่งที่คล้ายกับ user_name.01 จะตรงกับรูปแบบ เราต้องจำไว้ว่าที่นี่ไม่จำเป็นต้องรวมสัญลักษณ์ทั้งหมดเพียงตัวอักษรเดียวใน [a-zA-Z0-9_-.] จะทำ.
  • อักขระ @ ตรงกับการเกิดขึ้นครั้งเดียวของ @ บวกกับตัวอย่างที่แล้ว เช่น [email protected] จะพอดี
  • ([a-zA-Z0-9_-.]+) คล้ายกับจุดแรก นอกจากนี้ยังหมายความว่าเรากำลังมองหาสตริงที่มีอักขระที่เป็นตัวอักษรและตัวเลขคละกัน ขีดล่าง ขีดกลาง หรือจุดอย่างน้อยหนึ่งตัว บวกกับตัวอย่าง [email protected] จะพอดีที่นี่
  • อย่างที่คุณอาจเดาได้แล้วว่า เรากำลังพูดถึงรูปแบบอีเมล กำลังเดินทางไป, . ตรงกับซิงเกิ้ล “.” อักขระ. หากเราต่อด้วยตัวอย่างต่อเนื่อง บางอย่างเช่น [email protected]
  • ([a-zA-Z]{2,5})$ หมายความว่าสตริงควรลงท้ายด้วยอักขระตัวอักษร 2 ถึง 5 ตัว ไม่ว่าจะเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก หากเราเพิ่ม .com ในตัวอย่างก่อนหน้า เราจะได้ [email protected]ซึ่งเป็นรูปแบบทั่วไปของสตริงอีเมล
  วิธีการติดตั้งไฟล์ .watchface บน Apple Watch

เมื่อรวมทั้งหมดข้างต้น เราจะเห็นได้ว่าเรากำลังค้นหาสตริงรหัสอีเมล ตอนนี้เราสามารถใช้นิพจน์นี้เพื่อตรวจสอบ ID อีเมลใดๆ หากรหัสอีเมลทดสอบของเราตรงกับรูปแบบนี้ เราสามารถพูดได้ว่ารหัสอีเมลนั้นถูกต้อง

PS – นี่เป็นรูปแบบสำหรับรหัสอีเมลทั่วไปส่วนใหญ่บนเว็บ

ประเภทของโทเค็น

โทเค็นจำนวนมากสามารถใช้ในชุดค่าผสมต่างๆ ภายใน Regex เพื่ออธิบายนิพจน์ที่หลากหลาย ด้านล่างนี้ เราจะมาดูโทเค็นประเภทต่างๆ ที่ใช้ในนิพจน์ทั่วไป นอกจากนี้ เราจะดูโทเค็นที่ใช้บ่อยที่สุดในแต่ละหมวดหมู่ด้วย

โทเค็นพื้นฐาน

เริ่มจากโทเค็นพื้นฐานกันก่อน โทเค็นเหล่านี้ใช้กับนิพจน์ทั่วไปเกือบทุกรายการ ดังนั้นเราต้องเรียนรู้เกี่ยวกับพวกเขาก่อน

โทเค็น

ความหมาย

r

ตรงกับอักขระขึ้นบรรทัดใหม่

เรื่องล่าสุด

x