คุณสามารถอ้างอิงย้อนกลับเช่นนี้ใน JavaScript:
var str = "123 $test 123";
str = str.replace(/(\$)([a-z]+)/gi, "$2");
สิ่งนี้จะ (ค่อนข้างโง่) แทนที่ "$ test" ด้วย "test" แต่ลองนึกดูว่าฉันต้องการส่งสตริงผลลัพธ์ $ 2 ไปยังฟังก์ชันซึ่งจะคืนค่าอื่น ฉันลองทำสิ่งนี้ แต่แทนที่จะได้รับสตริง "test" ฉันได้รับ "$ 2" มีวิธีที่จะบรรลุนี้หรือไม่?
// Instead of getting "$2" passed into somefunc, I want "test"
// (i.e. the result of the regex)
str = str.replace(/(\$)([a-z]+)/gi, somefunc("$2"));