如何在 phpStorm 中删除与正则表达式不匹配的文本

如何在 phpStorm 中删除与正则表达式不匹配的文本

有一个 JSON 日志文件,我想提取产品 ID 以获得一个干净的列表:

{"comment": "comment.", "product":"100"}
{"comment": "comment.", "product":"555"}
{"comment": "comment.", "product":"100"}
{"comment": "comment.", "product":"99999"}

100
555
100
99999

答案1

我的想法是:

  1. 搜索所有产品:product\":\"(\d+)\"

  2. 点击搜索表单中的按钮Select All Occurrences

  3. 从“编辑”菜单中选择“反向选择”,但不幸的是它不存在。

我最终如何做到这一点:

  1. 搜索我想要保留的字符串之前的所有内容:\{(.*)product\":\"并删除这些

  2. 搜索尾随"}并删除

我在 Notepad++ 中是如何做的:

  1. 搜索带有否定(“不匹配”)的正则表达式:在 Notepad++ 中查找不以 " 开头的行

答案2

当您在回答中考虑 Notepad++ 时,可以采用以下方法:

  • Ctrl+H
  • 找什么:[^\d\r\n]+
  • 用。。。来代替:LEAVE EMPTY
  • 查看 环绕
  • 查看 正则表达式
  • Replace all

解释:

[^\d\r\n]+      # 1 or more any character that is not a digit or a linebreak

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

相关内容