尝试用记事本++删除如下一行

Trying to delete a line like below with notepad++

我有一个巨大的 .json 文件,其中有一百万行,我想从我的文件中删除如下一行。我应该怎么做?我曾尝试使用以下内容,但仅删除采用这种格式的小时数:"hours": {} 我应该如何修改我的正则表达式以删除此行中的所有内容?谢谢!

我的正则表达式:"hours": \{.*?\}

我想在 JSON 中删除的代码块:

"hours": {"Monday": {"close": "19:00", "open": "10:00"}, "Tuesday": {"close": "19:00", "open": "10:00"}, "Friday": {"close": "19:00", "open": "10:00"}, "Wednesday": {"close": "19:00", "open": "10:00"}, "Thursday": {"close": "19:00", "open": "10:00"}, "Sunday": {"close": "18:00", "open": "11:00"}, "Saturday": {"close": "19:00", "open": "10:00"}}

谢谢!

您可以在模式内使用子例程调用来递归 {...} 子模式:

"hours":\s*(\{(?>[^{}]++|(?1))*\})

regex demo

图案说明:

  • "hours": - 文字序列`"hours":
  • \s* - 零个或多个空格
  • (\{(?>[^{}]++|(?1))*\}) - 将通过 (?1) 子例程调用递归的第 1 组(因此,将确保递归)。这将匹配 {,然后是 {} 以外的 1 个或多个字符或整个第 1 组子表达式(带有 (?1)),然后是结束符 } .