红宝石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+
之前将负面前瞻放在后面!
@sln是的好点! – Kasramvd