Reputation: 1343
i want to replace a word in a string:
Input: "left.position.left = leftContent.left.posleft"
Output: "a.position.left = content.left.posleft"
Before "left" there shouldn´t be [a-zA-Z0-9.] and behind there shouldn´t be [a-zA-Z0-9].
This is my code I wrote so far:
"left.position.left = leftContent.left.posleft".replace(new RegExp("left(?![a-zA-Z0-9])", "g"), "a")
But it returns:
"a.position.a = leftContent.a.posa"
Could anybody help me?
Upvotes: 3
Views: 52
Reputation: 67988
(^|[^a-zA-Z0-9.])left
Try this.See 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);
Upvotes: 2