【问题标题】:Regular Expression in Atom Text Editor, exclude string "abc" from beginning of stringAtom 文本编辑器中的正则表达式,从字符串的开头排除字符串“abc”
【发布时间】:2016-11-25 05:19:49
【问题描述】:

我有一些代码如下:

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

【问题讨论】:

  • 我不明白为什么会有 Ruby 标签。这不仅仅是在编辑器中使用正则表达式。文本可能是 Ruby 代码这一事实似乎无关紧要。

标签: regex atom-editor


【解决方案1】:

您正在寻找的是消极的展望。你可以写成

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

Regex Demo

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 2011-01-12
    相关资源
    最近更新 更多