นิพจน์ปกติเป็นลำดับของตัวอักษรที่เป็นรูปแบบการค้นหาได้
รูปแบบการค้นหาสามารถนำมาใช้สำหรับการค้นหาข้อความและข้อความแทนที่การดำเนินงาน
อะไรคือการแสดงออกปกติ?
นิพจน์ปกติเป็นลำดับของตัวอักษรที่เป็นรูปแบบการค้นหาได้
เมื่อคุณค้นหาข้อมูลในข้อความคุณสามารถใช้รูปแบบการค้นหานี้เพื่ออธิบายสิ่งที่คุณกำลังค้นหา
นิพจน์ทั่วไปสามารถเป็นตัวเดียวหรือรูปแบบที่ซับซ้อนมากขึ้น
การแสดงออกปกติสามารถนำมาใช้ในการดำเนินการทุกประเภทของการค้นหาข้อความและข้อความแทนที่การดำเนินงาน
วากยสัมพันธ์
/ pattern / modifiers ;
ตัวอย่าง
var patt = /w3ii/i;
ตัวอย่างอธิบายว่า:
/w3ii/i คือการแสดงออกปกติ
w3ii เป็นรูปแบบ (เพื่อนำมาใช้ในการค้นหา)
i เป็นปรับปรุง (ปรับเปลี่ยนการค้นหาจะเป็นกรณีตาย)
โดยใช้วิธีการสตริง
ใน JavaScript, การแสดงออกปกติมักจะใช้กับทั้งสองวิธีสตริง: search() และ replace()
search() วิธีการใช้การแสดงออกในการค้นหาสำหรับการแข่งขันและผลตอบแทนตำแหน่งของการแข่งขัน
replace() วิธีการส่งกลับสตริงที่มีการปรับเปลี่ยนรูปแบบจะถูกแทนที่
ใช้สตริง search() ด้วยสีหน้าปกติ
ตัวอย่าง
ใช้นิพจน์ปกติเพื่อทำการค้นหากรณีตายสำหรับ "w3ii" ใน string:
var str = "Visit w3ii";
var n = str.search(/w3ii/i);
ผลใน n จะเป็น:
6
ลองตัวเอง» ใช้สตริง search() กับสตริง
วิธีการค้นหายังจะยอมรับสตริงเป็นอาร์กิวเมนต์ค้นหา อาร์กิวเมนต์สตริงจะถูกแปลงเป็นนิพจน์ปกติ:
ตัวอย่าง
ใช้สตริงเพื่อดำเนินการค้นหาสำหรับ "w3ii" ในสตริง:
var str = "Visit w3ii!";
var n = str.search("w3ii");
ลองตัวเอง» ใช้ String replace() ด้วยสีหน้าปกติ
ตัวอย่าง
ใช้กรณีตายแสดงออกปกติเพื่อแทนที่ Microsoft กับ w3ii ใน string:
var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "w3ii");
ผลในความละเอียดจะเป็น:
Visit w3ii!
ลองตัวเอง» ใช้ String replace() ด้วยสตริง
replace() วิธีการก็จะยอมรับสตริงเป็นอาร์กิวเมนต์ค้นหา:
var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "w3ii");
ลองตัวเอง» คุณสังเกตเห็น?
ข้อโต้แย้งแสดงออกปกติ (แทนของการขัดแย้ง String) สามารถใช้วิธีการดังกล่าว
การแสดงออกปกติสามารถทำให้การค้นหาของคุณมีประสิทธิภาพมากขึ้น (กรณีตายตัวอย่าง)
ปรับเปลี่ยนการแสดงผลปกติ
การปรับเปลี่ยนสามารถใช้ในการดำเนินการค้นหาทั่วโลกมากขึ้นกรณีตาย:
ส่วนขยาย | ลักษณะ |
---|---|
i | ดำเนินการจับคู่กรณีตาย |
g | ดำเนินการแข่งขันระดับโลก (พบการแข่งขันทั้งหมดแทนที่จะหยุดหลังจากที่นัดแรก) |
m | ดำเนินการจับคู่หลาย |
รูปแบบการแสดงออกปกติ
วงเล็บจะใช้ในการหาช่วงของตัวอักษร:
การแสดงออก | ลักษณะ |
---|---|
[abc] | ค้นหาตัวอักษรใด ๆ ระหว่างวงเล็บ |
[0-9] | ค้นหาใด ๆ ของตัวเลขระหว่างวงเล็บ |
(x|y) | หาตัวเลือกอื่น ๆ คั่นด้วย | |
metacharacters เป็นตัวอักษรที่มีความหมายพิเศษ:
metacharacter | ลักษณะ |
---|---|
\d | ค้นหาหลัก |
\s | ค้นหาตัวละครที่ช่องว่าง |
\b | พบการแข่งขันที่จุดเริ่มต้นหรือที่ส่วนท้ายของคำ |
\uxxxx | ค้นหาอักขระ Unicode ระบุโดยจำนวน xxxx เลขฐานสิบหก |
ปริมาณกำหนดปริมาณ:
ปริมาณ | ลักษณะ |
---|---|
n+ | ตรงกับสายใด ๆ ที่มีอย่างน้อยหนึ่ง n |
n* | ตรงกับสายใด ๆ ที่มีศูนย์หรือมากกว่าการเกิดขึ้นของ n |
n? | ตรงกับสายใด ๆ ที่มีศูนย์หรือหนึ่งเกิดขึ้นของ n |
ใช้วัตถุ RegExp
ใน JavaScript วัตถุ RegExp เป็นวัตถุแสดงออกปกติที่มีคุณสมบัติที่กำหนดไว้ล่วงหน้าและวิธีการ
โดยใช้ test()
test() วิธีการเป็นวิธีการแสดงออกนิพจน์ทั่วไป
มันค้นหาสตริงสำหรับรูปแบบและผลตอบแทนจริงหรือเท็จขึ้นอยู่กับผลที่ได้
ตัวอย่างต่อไปนี้การค้นหาสตริงสำหรับตัวอักษร "e" :
ตัวอย่าง
var patt = /e/;
patt.test("The best things in life are free!");
นับตั้งแต่มีการ "e" ในสตริงเอาท์พุทของรหัสดังกล่าวข้างต้นจะได้รับ:
true
ลองตัวเอง» คุณไม่ต้องใส่นิพจน์ปกติในตัวแปรแรก สองบรรทัดข้างต้นสามารถลงไปที่หนึ่ง:
/e/.test("The best things in life are free!");
ใช้ exec()
exec() วิธีการเป็นวิธีการแสดงออกนิพจน์ทั่วไป
มันค้นหาสตริงสำหรับรูปแบบที่กำหนดและผลตอบแทนพบข้อความ
หากไม่มีการแข่งขันพบก็จะส่งกลับnull
ตัวอย่างต่อไปนี้การค้นหาสตริงสำหรับตัวอักษร "e" :
ตัวอย่างที่ 1
/e/.exec("The best things in life are free!");
เนื่องจากมี "e" ในสตริงเอาท์พุทของรหัสดังกล่าวข้างต้นจะได้รับ:
e
ลองตัวเอง» กรอก RegExp อ้างอิง
สำหรับการอ้างอิงเสร็จสมบูรณ์ไปเรา JavaScript RegExp อ้างอิงที่สมบูรณ์
การอ้างอิงที่มีคำอธิบายและตัวอย่างของทุกคุณสมบัตินิพจน์ทั่วไปและวิธีการ