我目前正在将一个单词拆分成单独的字符跨度,如下所示:
var textWrapper = document.querySelector('.ml11 .letters');
textWrapper.innerHTML = textWrapper.textContent.replace(/([^\x00-\x80]|\w)/g, "<span class='letter'>$&</span>");
但是,这遗漏了单词的句号。我如何在正则表达式中包含句号?
最佳答案
将此/([^\x00-\x80]|\w)/g
修改为/([^\x00-\x80]|\w|\.)/g
。
在正则表达式中,如果要将其作为表达式传递,则句号应像\.
一样转义,如果将其作为字符串传递给regex构建器,则应转义\\.
。
var textWrapper = document.querySelector('.ml11 .letters');
textWrapper.innerHTML = textWrapper.textContent.replace(/([^\x00-\x80]|\w|\.)/g, "<span class='letter'>$&</span>");
console.log(textWrapper.innerHTML);
<div class="ml11"><div class="letters">Hello There. good bye. glag to see you.</div></div>