在Atom文本编辑器中使用正则表达式,排除字符串" abc"从字符串

时间:2016-11-25 05:19:50

标签: regex atom-editor

我有一些代码如下:

data[:value] = some_val
data[:value_two] = someval2
data[:total_value_three] = someval3

我想替换所有未包含总数的代码, 我想要以下结果:

data[:total_value] = some_val
data[:total_value_two] = someval2
data[:total_value_three] = someval3

我在文本编辑器中有很多这样的代码, 替换我使用过这个正则表达式:

\[:[^total]([A-z_0-9]*)\]

我用这个代替它:

[:total_$1]

它正在选择正确的数据,但它正在删除第一个字符,即它变为total_alue而不是total_value

1 个答案:

答案 0 :(得分:2)

你正在寻找的是消极的向前看。你可以把它写成

\[:(?!total)([A-z_0-9]*)\]

Regex Demo

  • (?!total)这是一个负面的展望。它会检查: 不是后跟total

[:[^total]([A-z_0-9]*)\]有什么问题?

  • [^total]这是一个否定的角色类。匹配的内容是一个字符,不是toal