平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“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++正则表达式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多兼容脚本之家!
- notepad++ 等用正则表达式自动添加sql引号的技巧
- Notepad++ 采用正则表达式匹配的方法
- Notepad+正则表达式采用方法举例详解

