Ruby gsub/regex 查找所有字符但不查找特定单词

Ruby gsub/regex to find all chars but not specific words

我的Objective:
我有一个这样的字符串:

"O_1324||T_6789||EC_67889&&(IC_12345||chicken)||true&&false"

我的梦想是使用 gsub 正则表达式来识别 [a-zA-z0-9_] 并用某些东西替换它们("false" 如果你必须知道)。但是我不想替换单词 "true" 或 "false".

我尝试了什么
我一直在使用超级友好的 Rubular 但收效甚微。

我可以像这样获得所有 "words"(非运算符): (\w+)

我尝试匹配除 "true" 之外的所有 "words",如下所示: (?!true)(\w+)

这没有用。它仅不匹配 "t" 为真。

您可以使用以下正则表达式:

\b(?:(?!true|false)\b)\w+\b

查看演示 https://regex101.com/r/eX6rE6/1

请注意,您需要使用单词边界来匹配单词。并将负面预测放在 \w+ 之前而不是之后!