我需要一个RegEx来替换一个长字符串中的单词,从单个:
开始,但不是以\:
开头。
匹配::Amazing
不匹配:\:Amazing
我尝试[^\\](:Amazing)
,但它也匹配x:Amazing
我想替换字符串Hello, this is :Amazing and also \:Amazing
Hello, this is COOL and also :Amazing
谢谢。
答案 0 :(得分:1)
你告诉:
之后你不需要任何角色。你需要一个负面的后视:
:(?<!\S.)Amazing
\S
表示非空白字符注意:这适用于PHP PCRE
JavaScript不支持lookbehinds(目前只支持Google Chrome)。要在JS中使用它,你需要这样的东西:
var str = `Hello, this is :Amazing and also \\:Amazing x:Amazing`;
console.log(str.replace(/(^|\s):Amazing/g, "$1COOL"));