这是一个支持非拉丁字母的单词边界正则表达式,它在Chrome中有效,但在Safari中无效。有其他解决方案吗?
new RegExp("(?<=[\s,.:;"']|^)" + word + "(?=[\s,.:;"']|$)","g");
感谢
Safari中不支持Look-behind断言。请查看此处的兼容性表
相反,您可以尝试不使用它。
const regx = new RegExp("([\s,.:;"']|^)("+word+")([\s,.:;"']|$)","g");
示例
let word="word";
const regx = new RegExp("([\s,.:;"']|^)("+word+")([\s,.:;"']|$)","g");
console.log('hello word, beautiful word'.replace(regx,'$1World$3'));