javascript - 使用正则表达式包含所有字符

标签 javascript html regex replace innerhtml

我对正则表达式不太熟悉,我正在尝试用纯 Javascript 解决问题。

我正在使用replace()将字符串剪切为单词(div),然后将单词剪切为字母(span),以分别为所有字母添加动画

但是使用下面的代码,只考虑字母。
我需要包含所有内容(字母数字、特殊字符……)

<p class="string">Hello! My name is John Do.</p>
.about-line {
 border: solid 2px blue; 
  display: inline-block;
}
.letter {
 border: solid 1px red;
}
var cutText = document.querySelector(".string");
cutText.innerHTML = cutText.textContent.replace(
  /\w+/g,
  (word) =>
    '<div class="about-line">' +
    word.replace(/./g, "<span class='letter'>$&</span>") +
    "</div>"
);

如有任何帮助,我们将不胜感激。
谢谢

最佳答案

您可以匹配 1 个或多个非空白字符 \S+ 来获取所有“单词”,然后仍然使用点来获取每个字符(因为其中只剩下非空白字符)匹配)

var cutText = document.querySelector(".string");
cutText.innerHTML = cutText.textContent.replace(
  /\S+/g,
  (word) =>
  '<div class="about-line">' +
  word.replace(/./g, "<span class='letter'>$&</span>") +
  "</div>"
);
.about-line {
  border: solid 2px blue;
  display: inline-block;
}

.letter {
  border: solid 1px red;
}
<p class="string">Hello! My name is John Do.</p>

关于javascript - 使用正则表达式包含所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74474800/

相关文章:

javascript - 是否可以检测是否安装了whatsapp?

css - 如何将div中的文本居中

regex - Visual DataFlex 正则表达式

regex - 在文件夹中的每个文本文件中找到包含匹配模式的最后 5 行

javascript - 如何在java脚本中 "Animate"/Hide然后取消隐藏字符串?

javascript - Cookie 在 Web 应用程序中的用途是什么?

php - 我们如何在php中进行重载?

javascript - 我们如何在将 javascript 代码发送给 nodejs 中的用户之前执行它?

javascript - 在没有 <head> 标签的情况下将 CSS 应用于整个页面?

python - 仅在 a 元素中用于 href 的正则表达式