繁体   English   中英

RegEx:在两个不匹配的字符串之间替换字符串

[英]RegEx: Replace string between two non-matching strings

我想替换字符串中的单词:

输入:“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”

有人能帮助我吗?

(^|[^a-zA-Z0-9.])left

试试这个。看看demo。放置$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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM