notepad++中使用正则表达式处理数据的步骤,


如何使用正则表达式提取文本中的特定行?

以下是一个示例文本:

[ INFO] HW RTC: 2023-05-15 07:21:00
[ INFO] HW RTC timestamp:1684135260
[ INFO] NEXT WAKEUP:7:23, TIMESTAMP:1684135380
[ INFO] CmdName:AT+CPSMS=1,,,"123","123"

现在,我们希望提取特定行(在本例中是带有 "NEXT WAKEUP" 字符串的行),并将其他行删除。我们可以通过在 Notepad++ 编辑器中使用正则表达式实现这一目的。

步骤

以下是将正则表达式应用于该过程的步骤:

  • 打开 Notepad++ 编辑器,打开需要提取数据的文本文件。
  • 在 Notepad++ 编辑器中,按下 Ctrl+H 快捷键打开替换窗口。
  • 在替换窗口中,选择 "正则表达式" 选项。
  • 在 "查找目标" 输入框中填写正则表达式 ^(?!.*NEXT WAKEUP).*$\r?\n? (详细解释见下面)。
  • 点击 "替换所有" 按钮。

这样,将删除不包含所需字符串的所有行。在这个例子中,将保留包含 "NEXT WAKEUP" 字符串的那一行。

正则表达式

以下是用于查找并删除文本中不需要的行的正则表达式:

^(?!.*NEXT WAKEUP).*$\r?\n?

该表达式由以下部分组成:

  • ^:以该模式匹配行的开头。
  • (?!.*NEXT WAKEUP):否定预测,匹配与该模式不匹配的任何内容,其中 ".*" 表示零个或多个字符(即不包含 "NEXT WAKEUP" 的任何字符串)。
  • .*:匹配零个或多个字符。
  • \$:匹配行的结尾。
  • \r?\n?: 匹配 Windows 或 Unix 下的换行符。

这个表达式的意思是:匹配任何以换行符结尾的行,其中不包含 "NEXT WAKEUP" 字符串。

示例

以下是应用上述步骤后修改文本的示例:

[ INFO] NEXT WAKEUP:8:53, TIMESTAMP:1684140780
[ INFO] NEXT WAKEUP:8:56, TIMESTAMP:1684140960
[ INFO] NEXT WAKEUP:8:59, TIMESTAMP:1684141140
[ INFO] NEXT WAKEUP:9:2, TIMESTAMP:1684141320

以上就是使用正则表达式提取文本中特定行的方法。

到此这篇关于notepad++中使用正则表达式处理数据的文章就介绍到这了,更多相关notepad++正则表达式内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

您可能感兴趣的文章:
  • Notepad++ 使用正则表达式匹配的方法
  • notepad++ 等用正则表达式自动添加sql引号的技巧

相关内容