JavaScript Regular Expressions
นิพจน์ทั่วไปคือลำดับของอักขระที่สร้างรูปแบบการค้นหา
รูปแบบการค้นหาสามารถใช้สำหรับการค้นหาข้อความและการดำเนินการแทนที่ข้อความ
นิพจน์ทั่วไปคืออะไร?
นิพจน์ทั่วไปคือลำดับของอักขระที่สร้างรูปแบบการค้นหา
เมื่อคุณค้นหาข้อมูลในข้อความ คุณสามารถใช้รูปแบบการค้นหานี้เพื่ออธิบายสิ่งที่คุณกำลังค้นหา
นิพจน์ทั่วไปอาจเป็นอักขระตัวเดียวหรือรูปแบบที่ซับซ้อนกว่าก็ได้
นิพจน์ทั่วไปสามารถใช้เพื่อดำเนินการค้นหาข้อความ และการแทนที่ข้อความ ทุกประเภท
ไวยากรณ์
/pattern/modifiers;
ตัวอย่าง
/w3schools/i;
ตัวอย่างอธิบาย:
/w3schools/i เป็นนิพจน์ทั่วไป
w3schools เป็นรูปแบบ (ที่จะใช้ในการค้นหา)
i เป็นตัวแก้ไข (แก้ไขการค้นหาให้คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
การใช้วิธีการสตริง
ใน JavaScript นิพจน์ทั่วไปมักใช้กับวิธีสตริงสอง วิธี : search()
และreplace()
เมธอด นี้search()
ใช้นิพจน์เพื่อค้นหาการจับคู่ และส่งกลับตำแหน่งของการจับคู่
replace()
เมธอดส่งคืนสตริงที่แก้ไขซึ่งรูปแบบถูกแทนที่
การใช้การค้นหาสตริง () กับสตริง
วิธี การsearch()
ค้นหาสตริงสำหรับค่าที่ระบุและส่งกลับตำแหน่งของการจับคู่:
ตัวอย่าง
ใช้สตริงเพื่อค้นหา "W3schools" ในสตริง:
let text = "Visit W3Schools!";
let n = text.search("W3Schools");
ผลลัพธ์ในnจะเป็น:
6
ใช้การค้นหาสตริง () ด้วยนิพจน์ทั่วไป
ตัวอย่าง
ใช้นิพจน์ทั่วไปเพื่อค้นหา "w3schools" โดยไม่พิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ในสตริง:
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);
ผลลัพธ์ในnจะเป็น:
6
การใช้สตริงแทนที่ () ด้วยสตริง
วิธี การreplace()
แทนที่ค่าที่ระบุด้วยค่าอื่นในสตริง:
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");
ใช้การแทนที่สตริง () ด้วยนิพจน์ทั่วไป
ตัวอย่าง
ใช้นิพจน์ทั่วไปที่ไม่คำนึงถึงขนาดตัวพิมพ์เพื่อแทนที่ Microsoft ด้วย W3Schools ในสตริง:
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");
ผลลัพธ์ในความละเอียดจะเป็น:
Visit W3Schools!
สังเกตไหม?
สามารถใช้อาร์กิวเมนต์นิพจน์ทั่วไป (แทนอาร์กิวเมนต์สตริง) ได้ในวิธีการด้านบน
นิพจน์ทั่วไปสามารถทำให้การค้นหาของคุณมีประสิทธิภาพมากขึ้น (เช่น ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
ตัวแก้ไขนิพจน์ทั่วไป
ตัวดัดแปลงสามารถใช้เพื่อทำการค้นหาทั่วโลกโดยไม่พิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่:
Modifier | Description | Try it |
---|---|---|
i | Perform case-insensitive matching | |
g | Perform a global match (find all matches rather than stopping after the first match) | |
m | Perform multiline matching |
รูปแบบนิพจน์ทั่วไป
วงเล็บถูกใช้เพื่อค้นหาช่วงของอักขระ:
Expression | Description | Try it |
---|---|---|
[abc] | Find any of the characters between the brackets | |
[0-9] | Find any of the digits between the brackets | |
(x|y) | Find any of the alternatives separated with | |
Metacharactersเป็นอักขระที่มีความหมายพิเศษ:
Metacharacter | Description | Try it |
---|---|---|
\d | Find a digit | |
\s | Find a whitespace character | |
\b | Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b |
|
\uxxxx | Find the Unicode character specified by the hexadecimal number xxxx |
ปริมาณกำหนดปริมาณ:
Quantifier | Description | Try it |
---|---|---|
n+ | Matches any string that contains at least one n | |
n* | Matches any string that contains zero or more occurrences of n | |
n? | Matches any string that contains zero or one occurrences of n |
การใช้วัตถุ RegExp
ใน JavaScript วัตถุ RegExp เป็นวัตถุนิพจน์ทั่วไปที่มีคุณสมบัติและวิธีการที่กำหนดไว้ล่วงหน้า
ใช้การทดสอบ ()
เมธอด นี้test()
เป็นเมธอดนิพจน์ RegExp
มันค้นหาสตริงสำหรับรูปแบบ และคืนค่าจริงหรือเท็จ ขึ้นอยู่กับผลลัพธ์
ตัวอย่างต่อไปนี้ค้นหาสตริงสำหรับอักขระ "e":
ตัวอย่าง
const pattern = /e/;
pattern.test("The best things in life are free!");
เนื่องจากมี "e" ในสตริง ผลลัพธ์ของโค้ดด้านบนจะเป็น:
true
คุณไม่จำเป็นต้องใส่นิพจน์ทั่วไปในตัวแปรก่อน สองบรรทัดข้างต้นสามารถย่อให้สั้นลงเหลือหนึ่ง:
/e/.test("The best things in life are free!");
ใช้ exec()
เมธอด นี้exec()
เป็นเมธอดนิพจน์ RegExp
จะค้นหาสตริงสำหรับรูปแบบที่ระบุ และส่งกลับข้อความที่พบเป็นวัตถุ
หากไม่พบรายการที่ตรงกัน จะส่งกลับวัตถุว่าง( null)
ตัวอย่างต่อไปนี้ค้นหาสตริงสำหรับอักขระ "e":
ตัวอย่าง
/e/.exec("The best things in life are free!");
กรอกข้อมูลอ้างอิง RegExp ให้สมบูรณ์
สำหรับข้อมูลอ้างอิงที่สมบูรณ์ ไปที่ การอ้างอิงJavaScript RegExp ฉบับสมบูรณ์ของ เรา
ข้อมูลอ้างอิงประกอบด้วยคำอธิบายและตัวอย่างของคุณสมบัติและวิธีการ RegExp ทั้งหมด