Quiero reemplazar una palabra en una cadena Unicode en JavaScript usando expresiones regulares y tengo un problema.
Si bien este fragmento de código (con ASCII) funciona bien:
var str= 'blue Mr Blue bluevan has a blue house qblueb and a bluecar blue'; var rep= "\\b(blue)\\b"; var re = new RegExp(rep,"gu"); var res = str.replace(re, " <span>$1</span>"); // res= '<span>blue</span> Mr Blue bluevan has a <span>blue</span> house qblueb and a bluecar <span>blue</span>'Pero este fragmento de código falla:
var str= 'মৌলবী গিরিশচন্দ্র দেনসেনকে ভার দেন'; var rep= "\\b(দেন)\\b"; var re = new RegExp(rep,"gu"); var res = str.replace(re, " <span>$1</span>"); // res (actual)= 'মৌলবী গিরিশচন্দ্র দেনসেনকে ভার দেন' // res (expected)= 'মৌলবী গিরিশচন্দ্র দেনসেনকে ভার <span>দেন</span>' /* var rep= "(দেন)"; replaces all the occurrences of দেন successfully */¿Alguien puede darme una idea de por qué sucede esto? Gracias por adelantado.