ข้ามไปเนื้อหา

นิพจน์ปรกติ

จากวิกิพีเดีย สารานุกรมเสรี
สีฟ้า ส่วนที่ไฮไลต์แสดงผลการจับคู่ของรูปแบบนิพจน์ปรกติ: /r[aeiou]+/g (อักษร r ตัวเล็ก ตามด้วยสระตัวพิมพ์เล็กหนึ่งตัวหรือมากกว่า)

นิพจน์ปรกติ (อังกฤษ: regular expression) หรือย่อว่า เรกเอ็กซ์ (regex หรือ regexp)[1] บางครั้งเรียกว่า นิพจน์ตรรกะ (rational expression)[2][3] คือลำดับของอักขระที่กำหนดรูปแบบการจับคู่ในข้อความ โดยทั่วไปรูปแบบดังกล่าวจะถูกนำไปใช้โดยอัลกอริทึมการค้นหาสายอักขระ สำหรับการดำเนินการ "ค้นหา" หรือ "ค้นหาและแทนที่" บนสายอักขระ หรือใช้สำหรับการตรวจสอบข้อมูลนำเข้า เทคนิคของนิพจน์ปรกติถูกพัฒนาขึ้นในสาขาวิทยาการคอมพิวเตอร์เชิงทฤษฎีและทฤษฎีภาษาทางการ

แนวคิดของนิพจน์ปรกติเริ่มต้นขึ้นในทศวรรษ 1950 เมื่อนักคณิตศาสตร์ชาวอเมริกัน สตีเฟน โคล คลีนี ได้กำหนดรูปแบบแนวคิดของภาษาปรกติ พวกมันเริ่มถูกใช้งานอย่างแพร่หลายในเครื่องมือประมวลผลข้อความของระบบปฏิบัติการ Unix ตั้งแต่ทศวรรษ 1980 เป็นต้นมา ได้มีการพัฒนารูปแบบไวยากรณ์สำหรับการเขียนนิพจน์ปรกติที่แตกต่างกันออกไป โดยมาตรฐานหนึ่งคือมาตรฐาน POSIX และอีกมาตรฐานหนึ่งที่ได้รับความนิยมอย่างกว้างขวางคือไวยากรณ์แบบ Perl

นิพจน์ปรกติถูกนำไปใช้ในโปรแกรมค้นหา, ในกล่องโต้ตอบการค้นหาและแทนที่ของโปรแกรมประมวลผลคำและตัวแก้ไขข้อความ, ในเครื่องมือประมวลผลข้อความ เช่น sed และ AWK, และในการการวิเคราะห์คำศัพท์ นิพจน์ปรกติได้รับการสนับสนุนในภาษาโปรแกรมหลายภาษา โดยส่วนประมวลผลในไลบรารีมักเรียกว่า "เอนจิน"[4][5] และมีเอนจินจำนวนมากที่สามารถนำกลับมาใช้ซ้ำได้

อ้างอิง

[แก้]
  1. Goyvaerts, Jan. "Regular Expression Tutorial - Learn How to Use Regular Expressions". Regular-Expressions.info. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 2016-11-01. สืบค้นเมื่อ 2016-10-31.
  2. Mitkov, Ruslan (2003). The Oxford Handbook of Computational Linguistics. Oxford University Press. น. 754. ISBN 978-0-19-927634-9. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 2017-02-28. สืบค้นเมื่อ 2016-07-25.
  3. Lawson, Mark V. (17 กันยายน 2003). Finite Automata. CRC Press. น. 98–100. ISBN 978-1-58488-255-8. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 27 กุมภาพันธ์ 2017. สืบค้นเมื่อ 25 กรกฎาคม 2016.{{cite book}}: CS1 maint: date auto-translated (ลิงก์)
  4. "How a Regex Engine Works Internally". regular-expressions.info. สืบค้นเมื่อ 24 กุมภาพันธ์ 2024.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  5. Heddings, Anthony (11 มีนาคม 2020). "How Do You Actually Use Regex?". howtogeek.com. สืบค้นเมื่อ 24 กุมภาพันธ์ 2024.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)

แหล่งข้อมูลอื่น

[แก้]