Javascript 替换 : don't split word on hyphen (regular expressions)

标签 javascript regex

我使用 replace<a/> 将所有单词包装在一个字符串中标签,但如果单词包含破折号或连字符,它将拆分单词,例如:hello-there变成 hello - <a>there</a> .

这是我现在使用的:

string.replace(/\b(\w+)\b/g, '<a href="javascript:void(0)">$1</a>');

另外,如何从单词中删除句点或逗号?

最佳答案

正则表达式中的

\w 不包含破折号 (-),因此您的匹配项会明确地将这些破折号从您的文字换行中排除。换句话说,给定

hello-there

您的正则表达式将看到:

word(hello) non-word(-)  word(there)

试试这个:

replace(/\b([\w-])+\b/, ...)

在“这是单词的一部分”类中明确包含破折号。

关于Javascript 替换 : don't split word on hyphen (regular expressions),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6063571/

相关文章:

javascript - 我可以在 Iframe 的父窗口中捕获 Iframe 的异常吗

javascript - WebGL矩阵(mat4)符号是否对应于数学矩阵符号

Javascript (NodeJS) 回调范围

javascript - 我可以在 text.replace 函数的第二部分中使用正则表达式的部分吗?

c++ - 使用正则表达式的条件组匹配

regex - R 正则表达式 : unexpected behavior of "[:digit:]"

javascript - 如何在javascript中将变量范围限定为类

javascript - 使用 RegExp 递归检索多个捕获组

Python:附加两个正则表达式

javascript - 如何在具有单个图例的情况下向多个饼图添加标题?