红宝石GSUB /正则表达式查找所有字符而不是特定的词

问题描述:

我的目的:
我有一个字符串,像这样:红宝石GSUB /正则表达式查找所有字符而不是特定的词

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

我的梦想是使用GSUB正则表达式来[a-zA-z0-9_]并替换它们有些事情(如果你必须知道的话,是“假”)。但我不想替换“真”或“假”这两个字。

有什么我试图
我一直在使用超级友好Rubular收效甚微。

我可以得到所有的“字”(非运营商),像这样: (\w+)

我想匹配所有的“字”,除了“真”,像这样: (?!true)(\w+)

这不起作用。它与真正的“t”不匹配。

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

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

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

请注意,您需要使用单词边界匹配的话。并在\w+之前将负面前瞻放在后面!

+0

@sln是的好点! – Kasramvd