【问题标题】:Ruby gsub/regex to find all chars but not specific wordsRuby gsub/regex 查找所有字符但不查找特定单词
【发布时间】:2015-09-04 16:15:56
【问题描述】:

我的目标:
我有一个这样的字符串:

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

我的梦想是使用 gsub 正则表达式来识别 [a-zA-z0-9_] 并将它们替换为某些东西(如果您必须知道,则为“假”)。但是我不想替换“真”或“假”这两个词。

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

我可以像这样得到所有“单词”(非运算符): (\w+)

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

这不起作用。它仅与 true 中的“t”不匹配。

【问题讨论】:

    标签: ruby regex negative-lookahead


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-09-10
      • 1970-01-01
      • 2019-05-12
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多