JavaScript RegExp m Modifier
ตัวอย่าง
ทำการค้นหาแบบหลายบรรทัดสำหรับ "is" ที่จุดเริ่มต้นของแต่ละบรรทัดในสตริง:
let text = `Is this
all there
is`
let pattern = /^is/m;
ความหมายและการใช้งาน
ตัวแก้ไข "m" ระบุการ จับคู่ แบบหลาย บรรทัด
มีผลกับพฤติกรรมของ start ^และ end $เท่านั้น
^ระบุการจับคู่ที่จุดเริ่มต้นของสตริง
$ระบุการแข่งขันที่ส่วนท้ายของสตริง
ด้วยชุด "m" ^ และ $ จะจับคู่ที่จุดเริ่มต้นและจุดสิ้นสุดของแต่ละบรรทัด
รองรับเบราว์เซอร์
/regexp/m
เป็นคุณลักษณะ ECMAScript3 (ES3)
ES3 (JavaScript 1999) ได้รับการสนับสนุนอย่างสมบูรณ์ในเบราว์เซอร์ทั้งหมด:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |
ไวยากรณ์
new RegExp("regexp", "m")
or simply:
/regexp/m
เคล็ดลับ
ตัวแก้ไข "m" คำนึงถึงขนาดตัวพิมพ์และไม่ใช่แบบสากล
ในการค้นหาแบบสากลและไม่คำนึงถึงขนาดตัวพิมพ์ ให้ใช้ "m" กับ "g" และ "i"
ตัวอย่าง
การค้นหาทั่วโลกแบบหลายบรรทัดสำหรับ "is" ที่จุดเริ่มต้นของแต่ละบรรทัดสตริง:
let text = `Is this
all there
is`
let pattern = /^is/gm;
ตัวอย่าง
การค้นหา "is" แบบหลายบรรทัดที่ไม่คำนึงถึงตัวพิมพ์ใหญ่และเล็กที่จุดเริ่มต้นของแต่ละบรรทัดสตริง:
let text = `Is this
all there
is`
let pattern = /^is/gmi;
ตัวอย่าง
การค้นหาทั่วโลกแบบหลายบรรทัดสำหรับ "is" ที่ส่วนท้ายของสตริงแต่ละบรรทัด:
let text = `Is this
all there
is`
let text = "Is\nthis\nhis\n?";
let pattern = /is$/gm;
เคล็ดลับ
ใช้ คุณสมบัติ multiline เพื่อตรวจสอบว่า m modifier ถูกตั้งค่าไว้หรือไม่
ตรวจสอบว่ามีการตั้งค่าตัวปรับแต่ง "m":
let pattern = /W3S/gi;
let result = pattern.multiline;
วิธีค้นหานิพจน์ทั่วไป
ใน JavaScript การค้นหาข้อความนิพจน์ทั่วไปสามารถทำได้ด้วยวิธีต่างๆ
เมื่อใช้รูปแบบเป็นนิพจน์ทั่วไป วิธีที่ใช้บ่อยที่สุดคือ:
ตัวอย่าง | คำอธิบาย |
---|---|
text.match( แบบแผน ) | การจับคู่วิธีสตริง () |
text.search( แบบแผน ) | การค้นหาวิธีสตริง () |
รูปแบบ .exec (ข้อความ) | วิธีการ RexExp exec() |
รูปแบบ .test (ข้อความ) | การทดสอบวิธี RegExp () |