JavaScript ประกาศแบบไฮโปเท็นเซซ

ประมาณการความแตกต่างในรูปแบบพิมพ์เป็นตัวอักษรต่อๆกันที่มีความเกี่ยวข้องกับมอร์ฟอร์น (pattern)

มอร์ฟอร์น (pattern) นี้สามารถใช้ในการค้นหาข้อความและการแทนที่ข้อความ:

อะไรคือประมาณการความแตกต่างในรูปแบบพิมพ์?

ประมาณการความแตกต่างในรูปแบบพิมพ์เป็นส่วนประกอบของมอร์ฟอร์น (pattern)มอร์ฟอร์น (pattern) การค้นหา (search pattern)ตัวอักษรต่อๆกัน:

เมื่อค้นหาข้อมูลในข้อความ คุณสามารถใช้มอร์ฟอร์น (pattern) ในการกำหนดสิ่งที่คุณต้องการค้นหา:

ประมาณการความแตกต่างในรูปแบบพิมพ์สามารถเป็นตัวอักษรเดียว หรือมอร์ฟอร์น (pattern) ที่ซับซ้อนขึ้น:

ประมาณการความแตกต่างในรูปแบบพิมพ์สามารถใช้เพื่อทำงานทั้งหมดที่เกี่ยวข้องกับ:การค้นหาข้อความและการแทนที่ข้อความการดำเนินงาน。

กระบวนการ

/pattern/modifiers;

ตัวอย่าง

var patt = /codew3c/i;

ตัวอย่างที่ชัดเจน:

/codew3c/i เป็นประมาณการความแตกต่างในรูปแบบพิมพ์:

codew3c เป็นมอร์ฟอร์น (pattern) (ที่ใช้ในการค้นหา):

modifier เป็นแบบบอกแบ่ง (modifier) ที่เปลี่ยนการค้นหาเป็นไม่สนใจความแตกต่างในรูปแบบพิมพ์:

ใช้วิธีตัวอักษร

ใน JavaScript ประมาณการความแตกต่างในรูปแบบพิมพ์ใช้บ่อยครั้งในสองสถานการณ์:วิธีตัวอักษรsearch() และ replace().

search() วิธีนี้ใช้ตัวแปรเพื่อค้นหาความตรงกันตรงข้าม แล้วกลับค่าตัวที่ตรงกันตรงข้าม:

replace() วิธีนี้กลับค่าตัวอักษรที่ถูกแก้ไขที่มีมอร์ฟอร์น (pattern) ตามที่กำหนด:

ใช้วิธี search() ของตัวอักษรเพื่อจัดการตัวอักษร:

search() วิธีนี้ยังรับตัวอักษรเป็นตัวอุปกรณ์ค้นหา ตัวอุปกรณ์ค้นหานี้จะถูกแปลงเป็นประมาณการความแตกต่างในรูปแบบพิมพ์:

ตัวอย่าง

ค้นหาคำว่า "W3school" ด้วยตัวอักษร:

var str = "Visit CodeW3C.com!";
var n = str.search("W3School"); 

ลองทดสอบเอง

ใช้ประมาณการค้นหาด้วยประมาณการความแตกต่างในรูปแบบพิมพ์ด้วยวิธี search() ของตัวอักษร:

ตัวอย่าง

ค้นหาคำว่า "codew3c" โดยไม่สนใจความแตกต่างในรูปแบบพิมพ์ของตัวอักษรด้วยประมาณการค้นหาแบบมาตรฐาน:

var str = "Visit CodeW3C.com";
var n = str.search(/codew3c/i); 

ผลลัพธ์ของ n จะเป็น:

6

ลองทดสอบเอง

ใช้วิธี string replace() ที่เป็นวิธีที่จัดการกับคำศัพท์

replace() ยังรับตัวแปรสตริงเพื่อคำหาด้วย

var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "W3School"); 

ลองทดสอบเอง

ใช้แอนท์เซ็ปชันแบบไร้ง่ายในวิธี string replace()

ตัวอย่าง

ใช้แอนท์เซ็ปชันแบบไร้ง่ายที่ไม่คำนึงถึงความแตกต่างระหว่างใหญ่และเล็กเพื่อแทนที่คำศัพท์ Microsoft ด้วย W3school

var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "W3School"); 

ผลลัพธ์ของ res จะเป็น:

Visit CodeW3C.com!

ลองทดสอบเอง

คุณเห็นได้ไหม?

ตัวแปรแอนท์เซ็ปชันแบบไร้ง่าย (ไม่ใช่ตัวแปรสตริง) สามารถใช้ในวิธีด้านบน

แอนท์เซ็ปชันแบบไร้ง่ายทำให้การค้นหาของคุณแข็งแกร่งขึ้น (เช่น ไม่คำนึงถึงความแตกต่างระหว่างใหญ่และเล็ก)

modifier

modifierใช้สำหรับการค้นหาที่ไม่คำนึงถึงความแตกต่างระหว่างใหญ่และเล็ก

modifier รายละเอียด ทดลองด้วยตัวเอง
modifier i ทดลองด้วยตัวเอง
g g ทดลองด้วยตัวเอง
m m ทดลองด้วยตัวเอง

แอนท์เซ็ปชันแบบไร้ง่าย

parenthesesใช้เพื่อค้นหาคำศัพท์ที่อยู่ในขอบเขตเฉพาะ

แอนท์เซ็ปชัน รายละเอียด ทดลองด้วยตัวเอง
[abc] ค้นหาอักษรในวงเล็บ ทดลองด้วยตัวเอง
[0-9] ค้นหาตัวเลข 0 ถึง 9 ทดลองด้วยตัวเอง
(x|y) ค้นหาทุกทางเลือกที่แยกด้วย | ทดลองด้วยตัวเอง

Meta-characterคืออักษรที่มีความหมายเฉพาะ

อักษรสูตร รายละเอียด ทดลองด้วยตัวเอง
\d ค้นหาตัวเลข ทดลองด้วยตัวเอง
\s ค้นหาอักษรอักขระที่เป็นช่องว่าง ทดลองด้วยตัวเอง
\b ค้นหาจุดตัดของคำศัพท์ ทดลองด้วยตัวเอง
\uxxxx ค้นหาอักษร Unicode ที่กำหนดโดยตัวเลขสิบหลัก xxxx ทดลองด้วยตัวเอง

Quantifiers การกำหนดคำนับ:

คำนับ รายละเอียด ทดลองด้วยตัวเอง
n+ ตรวจสอบคำศัพท์ที่มี n อย่างน้อยหนึ่ง ทดลองด้วยตัวเอง
n* ตรวจสอบคำศัพท์ที่มี n หรือมากกว่า ทดลองด้วยตัวเอง
n? ตรวจสอบคำศัพท์ที่มี n หรือไม่มี n ทดลองด้วยตัวเอง

ใช้แอนท์เซ็ปชัน RegExp

ใน JavaScript แอนท์เซ็ปชัน RegExp คือแอนท์เซ็ปชันแบบไร้ง่ายที่มีคุณสมบัติและวิธีที่กำหนดมาก่อน

ใช้ test()

test() เป็นวิธีการแบบแฟรมห์สำหรับแอนท์เซ็ปชันแบบไร้ง่าย

มันค้นหาคำศัพท์ด้วยรูปแบบ แล้วหลังจากนั้นจะคืนค่า true หรือ false。

ตัวอย่างด้านล่างนี้ค้นหาตัวอักษร "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() วิธีเป็นวิธีการ Regular Expression

มันค้นหาตัวสายที่ตรงกับแบบแบ่งแทนที่กำหนด และกลับค่าตัวสายที่ตรงกับแบบแบ่งแทน

ถ้าไม่พบการตรวจพบแล้วจะกลับค่า null。

ตัวอย่างด้านล่างนี้ค้นหาตัวอักษร "e" ในตัวสาย:

ตัวอย่าง

/e/.exec("The best things in life are free!");

เนื่องจากมีตัวอักษร "e" ในตัวสาย การปริมาณของรหัสอักษรดังกล่าวจะเป็น:

e

ลองทดสอบเอง

คู่มืออ้างอิง RegExp ที่สมบูรณ์

ถ้าคุณต้องการคู่มืออ้างอิงที่สมบูรณ์ โปรดเข้าถึง คู่มืออ้างอิง JavaScript RegExp.

คู่มืออ้างอิง RegExp นี้มีการอธิบายและตัวอย่างของทั้ง RegExp และวิธีการ