Jquery替换文本但保留大小写

And*_*rew 3 regex jquery case-sensitive

我正在为喜欢使用"Sensasianal"这个词来描述他的亚洲美食的人建立一个网站.亚洲一词总是使用另一种颜色来挑选,我使用.replace()在Jquery中实现了这一点,因此: -

replaceAsian.html(replaceAsian.html().replace(/sasiana/ig, "s<em>asian</em>a"));
Run Code Online (Sandbox Code Playgroud)

然后我可以使用单独的颜色设置元素的样式.

但是,如果原始文本为大写,则结果为大小写混合.

所以我尝试了这个

replaceAsian.html(replaceAsian.html().replace(/SASIANA/ig, "S<em>ASIAN</em>A"));
replaceAsian.html(replaceAsian.html().replace(/sasiana/ig, "s<em>asian</em>a"));
Run Code Online (Sandbox Code Playgroud)

但结果仍然是混合情况.

如果有人可以告诉我如何更改文本但保留原始案例我会很感激协助.非常感谢.

Gij*_*ijs 9

replaceAsian.html(replaceAsian.html().replace(/(s)(asian)(a)/ig, "$1<em>$2</em>$3"));
Run Code Online (Sandbox Code Playgroud)

将保留大小写,因为它重用了匹配的文本.

注意,这i是不区分大小写的标志,并且g意味着它将匹配每次出现,而不仅仅是没有g标志的第一次出现.

有关JS 中正则表达式功能的非常好的概述,请参阅MDN.