我目前正在将一个单词拆分成单独的字符跨度,如下所示:

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>

09-28 08:59