นิพจน์ทั่วไปคืออะไรกันแน่?
เมื่อเขียนโปรแกรมหรือเว็บเพจที่ประมวลผลสตริง มักจำเป็นต้องค้นหาสตริงที่ตรงตามกฎที่ซับซ้อนบางประการ นิพจน์ทั่วไปเป็นเครื่องมือที่ใช้ เพื่ออธิบายกฎเหล่านี้ กล่าวอีกนัยหนึ่ง นิพจน์ทั่วไปคือโค้ดที่บันทึกกฎข้อความ.
Common metacharacters
Code | Description |
---|---|
. | Matches any character except newline |
\w | Match letters or numbers or underscores |
\s | Matches any whitespace |
\d | Matching numbers |
\b | Match the beginning or end of a word |
^ | Match the beginning of a string |
$ | Match end of string |
Common qualifiers
Code / syntax | Description |
---|---|
* | Repeat zero or more times |
+ | Repeat one or more times |
? | Repeat zero or one time |
{n} | Repeat n times |
{n,} | Repeat n or more times |
{n,m} | Repeat n to m times |
Common antonyms
Code / syntax | Description |
---|---|
\W | Matches any characters that are not letters, numbers, underscores, or Chinese characters |
\S | Matches any character that is not a space character |
\D | Matches any non-digit character |
\B | Matches where the word is not beginning or ending |
[^x] | Matches any character except x |
[^aeiou] | Matches any character except the letters aeiou |
การตรวจสอบนิพจน์ทั่วไป (regex) คือกระบวนการใช้รูปแบบที่กำหนดไว้ล่วงหน้า เรียกว่านิพจน์ทั่วไป เพื่อตรวจสอบว่าสตริงที่กำหนดนั้นตรงตามกฎการจัดรูปแบบเฉพาะหรือไม่ โดยทั่วไปแล้วจะใช้เพื่อตรวจสอบข้อมูลอินพุต เช่น อีเมล หมายเลขโทรศัพท์ รหัสไปรษณีย์ รหัสผ่าน และอื่นๆ นิพจน์ทั่วไปจะกำหนดรูปแบบการค้นหาโดยใช้ลำดับของอักขระและสัญลักษณ์
การตรวจสอบนิพจน์ทั่วไปมีประโยชน์เพราะว่า
ช่วยให้มั่นใจถึงความสมบูรณ์ของข้อมูล: ป้องกันไม่ให้ข้อมูลที่ไม่ถูกต้องหรือมีรูปแบบไม่ถูกต้องถูกยอมรับ
ลดข้อผิดพลาด: ช่วยตรวจจับข้อผิดพลาดในช่วงเริ่มต้นของการป้อนข้อมูลของผู้ใช้หรือการป้อนข้อมูลอัตโนมัติ
ปรับปรุงความปลอดภัย: ลดความเสี่ยงของการโจมตีแบบแทรกข้อมูลโดยตรวจสอบอินพุตกับรูปแบบที่เข้มงวด
ประหยัดเวลาในการประมวลผล: ให้วิธีที่กระชับในการตรวจสอบรูปแบบที่ซับซ้อนโดยไม่ต้องเขียนตรรกะที่กำหนดเองยาวๆ
ในการใช้การตรวจสอบนิพจน์ทั่วไป:
กำหนดรูปแบบที่ต้องการโดยใช้ไวยากรณ์ regex (เช่น สำหรับอีเมล วันที่ หรือรูปแบบตัวเลข)
ใช้กลไกหรือฟังก์ชัน regex ในภาษาโปรแกรมหรือแพลตฟอร์มของคุณเพื่อเปรียบเทียบสตริงอินพุตกับรูปแบบ
ส่งคืนผลลัพธ์ผ่าน/ไม่ผ่านหรือข้อเสนอแนะโดยอิงจากว่าอินพุตตรงกับรูปแบบหรือไม่
หรืออาจรวมเข้ากับแบบฟอร์ม จุดสิ้นสุดของ API หรือไปป์ไลน์การประมวลผลข้อมูลก็ได้
ใช้การตรวจสอบนิพจน์ทั่วไป เมื่อ:
การตรวจสอบความถูกต้องของข้อมูลอินพุตของผู้ใช้ที่มีโครงสร้าง เช่น อีเมล รหัสผ่าน หมายเลขโทรศัพท์ หรือ URL
การประมวลผลข้อมูลข้อความที่ต้องปฏิบัติตามรูปแบบเฉพาะ
การสร้างแบบฟอร์ม ระบบการเข้าสู่ระบบ หรือตัวแยกวิเคราะห์ไฟล์ที่ต้องใช้กฎการจัดรูปแบบที่เข้มงวด
การทำความสะอาดหรือกรองข้อมูลอินพุตก่อนบันทึกหรือประมวลผล