我想替换字符串中的单词:
输入:“left.position.left = leftContent.left.posleft”
输出:“a.position.left = content.left.posleft”
在“离开”之前不应该有[a-zA-Z0-9。]并且后面不应该有[a-zA-Z0-9]。
这是我到目前为止编写的代码:
"left.position.left = leftContent.left.posleft".replace(new RegExp("left(?![a-zA-Z0-9])", "g"), "a")
但它返回:
“a.position.a = leftContent.a.posa”
有人能帮助我吗?
答案 0 :(得分:2)
(^|[^a-zA-Z0-9.])left
试试这个。参见demo.Replace by $1a
。
https://regex101.com/r/tJ2mW5/24
var re = /(^|[^a-zA-Z0-9.])left/gi;
var str = 'left.position.left = leftContent.left.posleft';
var subst = '$1a';
var result = str.replace(re, subst);