替换 and/or 从支持 PCRE 正则表达式的编辑器中的代码文件中删除特定 JSON 键值字符串的前 n 次出现

Replace and/or remove first n occurrences of specific JSON key-value string from code file in PCRE Regex-supported Editors

我有许多 PHP 代码文件,我必须从那些 PHP 文件中使用任何文本编辑器找到 replace/remove 特定的 JSON 键值字符串支持 PCRE-Regex.

我必须找到并删除的字符串(替换为空,甚至 space),它跨越多行(缩进为 2 spaces 但它可能是 4 spaces 也是)看起来像:

{
  label: "Other",
  value: "Other",
},

如何在 Sublime Text editor/Notepad++ 中使用 PCRE-regex 删除上述字符串的第一个 (n) 次出现,这样它就不会在文件的其他地方进行任何意外更改?

我不太擅长正则表达式多次出现和贪婪-非贪婪匹配,所以感谢任何帮助,不过,我确实尝试过这个,但它没有用:

(.*?):\"Other\",

对于示例数据,您可以使用

^{\R\h{2,}label:\h+"Other",\R\h{2,}value:\h+"Other",\R},
  • ^{ 字符串开始并匹配 {
  • \R\h{2,}匹配一个换行符,2个或更多水平空白字符
  • label:\h+"Other", 匹配 label: 1+ 个水平空白字符和 "Other,"
  • \R\h{2,} 匹配一个换行符和 2 个水平空白字符
  • value:\h+"Other",
  • \R},匹配一个换行符和},

替换为空字符串

Regex demo

如果Other可以是其他值,你可以使用

^{\R\h{2,}label:\h+"[^"\]*(?:\.[^"\]*)*",\R\h{2,}value:\h+"[^"\]*(?:\.[^"\]*)*",\R},

Regex demo