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+
之前而不是之后!
我的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+
之前而不是之后!