【发布时间】:2021-02-07 22:08:21
【问题描述】:
有一个文本输入,如果文本位于两个感叹号之间,则希望以粗体显示。
例如:a!a!bb!c!c 将是 aabbcc。文本位于 !将加粗。
这是代码:
const arr = "this! i!s the i!npu!t";
if (arr.includes('!')) {
result = arr.replace(/\!(\w+)\!/g, '<b>$1</b>');
}
如果有一个连续的字符串,它似乎工作正常,但如果它们之间有空格的单词,它就不能正常工作。
有办法解决吗?
【问题讨论】:
-
\w是“单词字符”的正则表达式转义。那不包括空格。要包含空格,您可以对空格执行[\w ](捕获组,包括\w和一个空格字符),或者[\w\s]包含其他类似空格的字符,如制表符和回车。或者,如果您想要所有字符,包括标点符号和其他内容,您可以使用.。
标签: javascript html regex string ecmascript-6