Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

มี Negative Lookbehind Equivalent ใน JavaScript หรือไม่?

JavaScript ก่อน ES2018 ไม่รองรับ lookbehind assertions สามารถใช้ workaround ด้วยการจับกลุ่ม (capturing group) แทน:

(^|[^\\])"

สำหรับแทนที่ double quotes ที่ไม่ได้ถูก escape:

str.replace(/(^|[^\\])"/g, "$1'")

หมายเหตุ: ตั้งแต่ ES2018 (ES9) JavaScript รองรับ lookbehind แล้ว: (?<!\\\)" สำหรับ negative lookbehind