regex - Atom 文本编辑器中的正则表达式,从字符串开头排除字符串 "abc"

标签 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

最佳答案

您正在寻找的是负面展望。你可以把它写成

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

Regex Demo

  • (?!total) 这是一个消极的展望。它检查 : 是否后跟总数

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

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

关于regex - Atom 文本编辑器中的正则表达式,从字符串开头排除字符串 "abc",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40798179/

相关文章:

python-3.x - 使用 Atom 中的氢设置 Python 虚拟环境

rust - 无法安装Racer : "pub(restricted) syntax is experimental (see issue #32409)"

带有 MinGW 版本 8.2.0 和 Atom 文本编辑器的 C++ SFML

javascript - 在 RegExp 中使用可变长度后视删除前导空格

regex - 当格式不固定时,如何从 shell 变量的末尾提取时间戳?

c++ - 使用 QString 替换方法用正则表达式更改文件名

python - 使用 re.match 查找重复字符

regex - 谷歌分析 : View Filter by Request URI - does this work?

atom-editor - 在 GitHub Atom 中编译 C 程序?

php - 为 2 个空格而不是 4 个空格配置 PHP-cs-fixer 缩进?