เข้าใจการแสดงออกปกติ
หากคุณไม่เคยใช้การแสดงออกปกติคุณอาจคุ้นเคยกับคำและแนวคิดนี้น้อยกว่า พวกเขาไม่ได้เป็นนวนิยายอย่างที่คุณคิด
โปรดเรียกคืนวิธีค้นหาไฟล์บนฮาร์ดไดรฟ์ของคุณ คุณจะใช้อักขระ? และ * เพื่อช่วยค้นหาไฟล์ที่คุณกำลังมองหา อักขระจับคู่อักขระตัวเดียวในชื่อไฟล์ในขณะที่ * ตรงกับอักขระหนึ่งตัวขึ้นไป รูปแบบเช่น 'data? .dat' สามารถค้นหาไฟล์ต่อไปนี้:
data1.dat
data2.dat
datax.dat
datan.dat
หากมีการใช้อักขระ * แทนตัวอักษร? จำนวนไฟล์ที่พบจะถูกขยาย 'data*.dat' สามารถจับคู่ชื่อไฟล์ทั้งหมดด้านล่าง:
data.dat
data1.dat
data2.dat
data12.dat
datax.dat
dataxyz.dat
แม้ว่าวิธีการค้นหาไฟล์นี้จะมีประโยชน์อย่างแน่นอน แต่ก็มี จำกัด มาก ความสามารถที่ จำกัด ของ? และ bildcards สามารถให้แนวคิดของคุณว่าการแสดงออกปกติสามารถทำอะไรได้บ้าง แต่การแสดงออกปกตินั้นมีประสิทธิภาพและยืดหยุ่นมากขึ้น
ต้นกำเนิดต้นของการแสดงออกปกติ
บรรพบุรุษของการแสดงออกปกติสามารถย้อนกลับไปสู่การศึกษาก่อนหน้านี้เกี่ยวกับวิธีการทำงานของระบบประสาทของมนุษย์ Warren McCulloch และ Walter Pitts นักประสาทวิทยาสองคนได้พัฒนาวิธีทางคณิตศาสตร์เพื่ออธิบายเครือข่ายประสาทเหล่านี้
ในปี 1956 นักคณิตศาสตร์ชาวอเมริกันชื่อ Stephen Kleene ตีพิมพ์บทความชื่อเรื่อง Neural Net Events ตามผลงานแรก ๆ ของ McCulloch และ Pitts แนะนำแนวคิดของการแสดงออกปกติ นิพจน์ทั่วไปเป็นนิพจน์ที่ใช้เพื่ออธิบายพีชคณิตที่เรียกว่าชุดปกติดังนั้นจึงใช้คำว่าการแสดงออกปกติ
ต่อมาก็ถูกค้นพบว่างานนี้สามารถนำไปใช้กับการวิจัยก่อนหน้านี้โดยใช้อัลกอริทึมการค้นหาการคำนวณของ Ken Thompson ซึ่งเป็นนักประดิษฐ์หลักของ UNIX แอปพลิเคชั่นภาคปฏิบัติครั้งแรกสำหรับการแสดงออกปกติคือ Editor QED ใน UNIX
อย่างที่พวกเขากล่าวว่าสิ่งที่เหลืออยู่เป็นประวัติศาสตร์ที่รู้จักกันดี นิพจน์ทั่วไปเป็นส่วนสำคัญของตัวแก้ไขข้อความและเครื่องมือค้นหาตั้งแต่นั้นมา
ใช้นิพจน์ทั่วไป
ในการดำเนินการค้นหาและการเปลี่ยนโดยทั่วไปจะต้องมีข้อความที่แน่นอนที่จะพบ เทคนิคนี้อาจเพียงพอสำหรับงานการค้นหาและการเปลี่ยนอย่างง่ายในข้อความคงที่ แต่เนื่องจากขาดความยืดหยุ่นจึงเป็นเรื่องยากหรือเป็นไปไม่ได้ที่จะค้นหาข้อความแบบไดนามิก
การใช้นิพจน์ทั่วไปคุณสามารถ:
ทดสอบรูปแบบของสตริง ตัวอย่างเช่นคุณสามารถทดสอบสตริงอินพุตเพื่อดูว่ามีรูปแบบหมายเลขโทรศัพท์หรือรูปแบบหมายเลขบัตรเครดิตในสตริง สิ่งนี้เรียกว่าการตรวจสอบข้อมูล
แทนที่ข้อความ คุณสามารถใช้นิพจน์ทั่วไปในเอกสารเพื่อระบุข้อความเฉพาะจากนั้นคุณสามารถลบทั้งหมดหรือแทนที่ด้วยข้อความอื่น
แยกสายย่อยออกจากสตริงตามการจับคู่รูปแบบ สามารถใช้เพื่อค้นหาข้อความเฉพาะในฟิลด์ข้อความหรืออินพุต
ตัวอย่างเช่นหากคุณต้องการค้นหาเว็บไซต์ทั้งหมดเพื่อลบวัสดุที่ล้าสมัยและแทนที่แท็กการจัดรูปแบบ HTML บางอย่างคุณสามารถทดสอบแต่ละไฟล์โดยใช้นิพจน์ทั่วไปเพื่อดูว่าวัสดุหรือ HTML ที่คุณกำลังมองหาอยู่ในรูปแบบไฟล์นั้น . วิธีนี้ช่วยให้คุณสามารถ จำกัด ไฟล์ที่ได้รับผลกระทบให้เป็นไฟล์ที่มีเนื้อหาที่คุณต้องการลบหรือเปลี่ยนแปลง จากนั้นคุณสามารถใช้นิพจน์ทั่วไปเพื่อลบวัสดุที่ล้าสมัยและในที่สุดคุณสามารถใช้นิพจน์ทั่วไปอีกครั้งเพื่อค้นหาและแทนที่แท็กที่ต้องเปลี่ยน