การแทนที่

circle-info

เริ่มตั้งแต่เวอร์ชัน 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 ที่กำหนด

ค่าที่ส่งกลับ

สตริงใหม่ โดยที่การจับคู่ทั้งหมดของรูปแบบถูกแทนที่ด้วยค่าการแทนที่


ตัวอย่าง

RegExp
ข้อความต้นทาง
ผลลัพธ์

[": ?(\d+)", "gm", ""]

ตัวละคร : สวัสดี. : 10 : 09 : 10 : 30

ตัวละคร : สวัสดี.

["([^]*):", "gm", ""]

วัน 29 - วันจันทร์: ตอนเช้า: ตัวละคร: สวัสดี.

สวัสดี.

[": ([^]*)", "gm", ""]

สวัสดี.: -AAA: +BBB: 123

สวัสดี.

["Day((.*?):){2}", "gm", ""]

วัน 29 - วันจันทร์: ตอนเช้า: ตัวละคร: สวัสดี.

ตัวละคร: สวัสดี.

["(\b\S.+\b)(?=.*\1\b)", "gms", ""]

จันทร์ จันทร์ จันทร์

จันทร์