繁体   English   中英

匹配以 : 字符开头但不以 \\ 开头的字符串:

[英]Match a string starting with : character, but not starting with \:

我需要一个 RegEx 来替换以单个:开头但不以\\:开头的长字符串中的单词。

匹配:Amazing

不匹配: \\:Amazing

我试过[^\\\\](:Amazing) ,但它也匹配x:Amazing

我想替换字符串Hello, this is :Amazing and also \\:Amazing

Hello, this is COOL and also :Amazing

谢谢你。

您是在告诉您在:之后不需要任何字符。 您需要对此进行负面回顾:

:(?<!\S.)Amazing
  • \\S表示非空白字符

注意:这适用于 PHP PCRE

现场演示

JavaScript 不支持后视(目前仅支持 Google Chrome)。 要在 JS 中也有它,你需要这样的东西:

 var str = `Hello, this is :Amazing and also \\\\:Amazing x:Amazing`; console.log(str.replace(/(^|\\s):Amazing/g, "$1COOL"));

暂无
暂无

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

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