การแทนที่
เริ่มตั้งแต่เวอร์ชัน Pro 0.9.1-alpha, VNTranslator รองรับการเขียน JS RegExp แบบ native โดยใช้ไวยากรณ์: /Regexp/flags.
คำแนะนำด้านล่างอธิบายไวยากรณ์แบบเก่า ซึ่งยังคงรองรับเพื่อความเข้ากันได้
ไวยากรณ์
["Regexp", "Flags", "newSubstr/replacerFunction"], [...]
พารามิเตอร์
Regexp อ็อบเจ็กต์นิพจน์ปกติ
Flags นิพจน์ปกติมีแฟลกที่เป็นทางเลือกซึ่งอนุญาตให้มีฟังก์ชันเช่นการค้นหาแบบทั่วทั้งข้อความและการค้นหาไม่สนใจขนาดอักษร
d
สร้างดัชนีสำหรับการจับซับสตริง
g
ค้นหาทุกการจับคู่แทนที่จะหยุดหลังการจับคู่ครั้งแรก
i
ถ้า u แฟลกถูกเปิดใช้งานด้วย ให้ใช้การพับตัวอักษรตาม Unicode
m
ปฏิบัติต่ออักขระจุดเริ่มต้นและจุดสิ้นสุด (^ และ $) ให้ทำงานข้ามหลายบรรทัด กล่าวคือ จับคู่จุดเริ่มต้นหรือจุดสิ้นสุดของ แต่ละ บรรทัด (คั่นโดย หรือ ) ไม่ใช่เพียงจุดเริ่มต้นหรือจุดสิ้นสุดของสตริงอินพุตทั้งหมดเท่านั้น
s
อนุญาต . ให้ตรงกับตัวขึ้นบรรทัดใหม่
u
ปฏิบัติต่อ แพทเทิร์น เป็นลำดับของรหัสจุดของ Unicode
newSubstr (การแทนที่) สตริงที่มาแทนสตริงย่อยที่ระบุโดย regexp หรือพารามิเตอร์ substr ที่ระบุ
replacerFunction (การแทนที่) ฟังก์ชันที่จะถูกเรียกใช้เพื่อสร้างสตริงย่อยใหม่ที่จะใช้แทนการจับคู่กับ regexp หรือ substr ที่กำหนด
ค่าที่ส่งกลับ
สตริงใหม่ โดยที่การจับคู่ทั้งหมดของรูปแบบถูกแทนที่ด้วยค่าการแทนที่
ตัวอย่าง
[": ?(\d+)", "gm", ""]
ตัวละคร : สวัสดี. : 10 : 09 : 10 : 30
ตัวละคร : สวัสดี.
["([^]*):", "gm", ""]
วัน 29 - วันจันทร์: ตอนเช้า: ตัวละคร: สวัสดี.
สวัสดี.
[": ([^]*)", "gm", ""]
สวัสดี.: -AAA: +BBB: 123
สวัสดี.
["Day((.*?):){2}", "gm", ""]
วัน 29 - วันจันทร์: ตอนเช้า: ตัวละคร: สวัสดี.
ตัวละคร: สวัสดี.
["(\b\S.+\b)(?=.*\1\b)", "gms", ""]
จันทร์ จันทร์ จันทร์
จันทร์