การแสดงออกปกติหรือที่เรียกว่าการเป็นตัวแทนปกติและการเป็นตัวแทนปกติ (ภาษาอังกฤษ: การแสดงออกปกติมักจะย่อเป็น regex, regexp หรือ re ในรหัส) แนวคิดของวิทยาศาสตร์คอมพิวเตอร์ นิพจน์ทั่วไปใช้สตริงเดียวเพื่ออธิบายและจับคู่ชุดของกฎวากยสัมพันธ์ ในตัวแก้ไขข้อความจำนวนมากการแสดงออกปกติมักใช้เพื่อดึงและแทนที่ข้อความที่สอดคล้องกับรูปแบบที่แน่นอน
1. นิพจน์ทั่วไปใน JavaScript
ใน JavaScript สามารถสร้างนิพจน์ทั่วไปได้โดยใช้วัตถุ RegeXP เราจำเป็นต้องสร้างวัตถุ regexp () อินสแตนซ์ใหม่และเราสามารถส่งผ่านพารามิเตอร์สองพารามิเตอร์: พารามิเตอร์แรกคือรูปแบบการจับคู่และพารามิเตอร์ที่สองเป็นพารามิเตอร์เสริมและเราสามารถผ่านพารามิเตอร์สามตัว ฉันหมายถึงกรณีที่ไม่รู้สึกตัว G หมายถึงการจับคู่ระดับโลกนั่นคือการจับคู่สตริงทั้งหมดที่ตรงกับเงื่อนไข M หมายถึงการแข่งขันหลายรายการ ตัวอย่างมีดังนี้:
การคัดลอกรหัสมีดังนี้:
var reg = ใหม่ regexp ("สวัสดี", "i"); // หมายความว่าสตริงสวัสดีในสตริงถูกจับคู่และเป็นตัวพิมพ์ใหญ่
2. ใช้ exec สำหรับการจับคู่รูปแบบ
มีวิธีการใน regexp ที่สามารถทำการจับคู่รูปแบบและส่งคืนผลลัพธ์: exec () วิธีนี้มีความสำคัญมากโดยทั่วไปเป็นฟังก์ชั่นที่จำเป็นในการใช้ JS สำหรับการจับคู่รูปแบบ อย่างไรก็ตามหลายคนไม่ทราบค่าการส่งคืนของฟังก์ชั่นนี้ดังนั้นข้อผิดพลาดมักเกิดขึ้นเมื่อใช้จริง ที่นี่เราแนะนำวิธีการบางอย่างของการใช้งาน EXEC () อย่างเป็นระบบ
รูปแบบพื้นฐานของ exec () คือ: regexpobject.exec (สตริง) โดยที่ regexpobject เป็นวัตถุที่จับคู่ปกติตั้งค่าและสตริงคือสตริงที่จะจับคู่ หากการแข่งขันประสบความสำเร็จอาร์เรย์จะถูกส่งคืน; หากไม่มีส่วนที่ตรงกันของสตริง Null จะถูกส่งคืน
ประเด็นที่นี่คืออาร์เรย์นี้ อาร์เรย์กลับมาอย่างไร คุณสามารถดูการทดลองต่อไปนี้
การคัดลอกรหัสมีดังนี้:
var re = new regexp ("[?#&]" + ผู้ใช้ + "= ([^&#]*)", "I")
รหัสนี้ตรงกับ URL และสามารถใช้เพื่อรับส่วนพารามิเตอร์หลังจากผู้ใช้ = ดังนั้นหากคุณใช้ URL และใช้รูปแบบนี้เพื่อดำเนินการ EXEC จะส่งคืนอะไร ตัวอย่างเช่นเรามีสิ่งต่อไปนี้
www.qq.com?user=tom&psw=123456
ผลลัพธ์ของอาร์เรย์ที่ส่งคืนโดย Exec คือ: [? user = Tom, Tom] คุณจะเห็นว่าองค์ประกอบแรกของอาร์เรย์ส่งคืนคือสตริงที่ตรงกับรูปแบบการจับคู่ทั้งหมดและอักขระการจับคู่ที่สองเกิดขึ้นเป็นค่าพารามิเตอร์
นี่คือกฎที่ส่งคืนโดยการจับคู่ exec: องค์ประกอบแรกคือสตริงการจับคู่ทั้งหมดและเริ่มต้นจากพารามิเตอร์ที่สองเพื่อส่งคืนสตริงที่จับคู่โดยการจัดกลุ่มที่กำหนดโดยแต่ละ () ในรูปแบบ
สิ่งที่ ([^& #]*) ส่งคืนเป็นสตริงที่ไม่ได้เริ่มต้นด้วย & หรือ #นั่นคือพารามิเตอร์ที่สอดคล้องกันตาม
หากเราแก้ไขรูปแบบที่กำหนดเป็น [?#&] " + (ผู้ใช้) +" = ([^&#]*) จากนั้นอาร์เรย์ที่ส่งคืนหลังจาก Exec () คือ [? user = tom, ผู้ใช้, TOM]
ข้างต้นคือสิ่งที่ตัวแก้ไขแนะนำให้คุณใช้เมธอด exec () ใน JS เพื่อสร้างการตรวจสอบนิพจน์ปกติ ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!