javascript - 正则表达式按字面意思匹配单词和\n

标签 javascript regex

我有一根绳子。

const str = "This is a test.\n\nAnother Sentence.\nHello!";

我想要结果

// ['This', 'is', 'a', 'test.', '\n', '\n', 'Another', 'Sentence.', '\n', 'Hello!']

我在做

const arr = str.match(/\w+/g);
// ["This", "is", "a", "test", "Another", "Sentence", "Hello"]

我应该怎么做才能在结果中包含所有特殊字符,例如 (.) 和 (!) 等以及“\n”?能否请你帮忙?

最佳答案

您可以使用

/\S+|\n/g

请参阅regex demo 。它匹配 1 个以上非空白字符或换行符,次数与输入字符串中此类 block 的次数相同(由于 g 修饰符)。

JS 演示:

var str = "This is a test.\n\nAnother Sentence.\nHello!";
console.log(str.match(/\S+|\n/g));

关于javascript - 正则表达式按字面意思匹配单词和\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57599302/

相关文章:

c# - 使用与序列匹配两次的正则表达式从 xml 中删除空元素

javascript - 从主题标签网址中删除最后的 '/' 字符

javascript - 在 react 中创建受控输入

javascript - 如何在 JavaScript 中将匹配的字符串作为变量运行?

c# - 两个已知标签之间可能出现不止一次的子字符串的正则表达式

python - 如何在 tn.read_until() 中包含正则表达式?

javascript - 无法向 JS 变量输入值

javascript - 如何使用 jQuery UI 删除 jQuery 移动效果?

javascript - 如何匹配嵌套函数字符串?

javascript - 在另一个字符串中搜索由非字母数字字符分隔的(任何)字符串