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

以下是一个示例文本:

[ 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++ 编辑器中使用正则表达式实现这一目的。

步骤

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

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

这样,将删除不包含所需字符串的所有行。在这个例子中,将保留包含 "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

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

by 杭州禅河智能科技有限公司

notepad++中使用正则表达式处理数据的更多相关文章

  1. Sublime 、NotePad++中查找匹配中文字符

    在Sublime .NotePad++中可以使用正则表达式 [\x{4e00}-\x{9fa5}] 查找匹配中文字符.

  2. 在C#中使用正则表达式自动匹配并获取所需要的数据

    转自:http://my.oschina.net/bv10000/blog/111736 正则表达式能根据设置匹配各种数据(比如:e-mail地址,电话号码,身份中号码等等).正则表达式功能强大,使用 ...

  3. Coursera-Getting and Cleaning Data-week4-R语言中的正则表达式以及文本处理

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Thursday, January 29, 2015 补上第四周笔记,以及本次课程总结. 第四周 ...

  4. Javascript中的正则表达式

    Javascript中的正则表达式 刚开始接触正则表达式的时候,觉得这是个很死板的东西(没办法,计算机不能像人眼一样能很快的辨认出我们需要的结果,它需要一定的规则来对它进行限制),了解的越多,发现这个 ...

  5. 在Visual Studio中使用正则表达式匹配换行和批量替换

    系统环境:Windows 8.1 Enterprise Update 2 x64 开发环境:Mircosoft Visual Studio Ultimate 2013 Update 2 RC 问题:如 ...

  6. 任督二脉之Shell中的正则表达式

    VBird说学习Linux,掌握了Shell和正则就相当于打通了任督二脉,此后能力的成长才会突飞猛进. Shell的基础学习之前已经总结了一篇博客:http://www.cnblogs.com/jyz ...

  7. 如何使用JavaScript和正则表达式进行数据验证

    利用客户端JavaScript的优势,JavaScript中的正则表达式可以简化数据验证的工作,下面与大家分享下如何使用JavaScript和正则表达式进行数据验证,感兴趣的朋友可以参考下哈 数据验证 ...

  8. UltraEdit中使用正则表达式

    正则表达式 (UltraEdit Syntax): % 匹配行首 - 表明要搜索的字符串一定在行首. $ 匹配行尾 - 表明要搜索的字符串一定在行尾 ? 匹配除换行符外的任一单个字符. * 匹配任意个 ...

  9. MVC5中Model层开发数据注解

    ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...

  10. MySQL中REGEXP正则表达式使用大全

    REGEXP在mysql是用来执行正则表达式的一个函数 像php中的preg之类的函数了,regexp正则函数如果只是简单的查询使用like即可,但复杂的还是需要使用regexp了,下面我们来看看. ...

随机推荐

  1. Matlab2021a打包jar包问题(linux、windows)

    都有chatgpt了,实在不想写博客....不过还是记录一下问题吧. 我们在用matlab打包jar包的时候,经常会出现打包出错的问题,但无非注意以下几点就行了: 1.打包方式 这个还是很简单的,而且 ...

  2. 源码解析Collections.sort ——从一个逃过单测的 bug 说起

    本文从一个小明写的bug 开始,讲bug的发现.排查定位,并由此展开对涉及的算法进行图解分析和源码分析. 事情挺曲折的,因为小明的代码是有单测的,让小明更加笃定自己写的没问题.所以在排查的时候,也经历 ...

  3. 【游戏开发笔记】编程篇_C#面向对象 {下}

    @ 目录 7.定义类 7.1 C#中的类定义 7.1.1 接口的定义 7.1.2 修饰符 7.2 System.Object 7.3 构造函数和析构函数 7.4 结构类型 7.5 浅度和深度复制 8. ...

  4. VScode 中golang 调试 F5,json文件内容更改 Go

    调试:在Vscode软件中调试.go文件代码 1.1.1 确保调试文件正常运行 准备好.go文件,并且该文件能正常运行,终端输入命令运行程序,如:go run time.go 测试代码: packag ...

  5. 从数据库方向getshell方法总结

    前提 拿到数据库权限,可以执行sql语句,或者进入到phpmyadmin界面,或pmd界面 phpstudy 对应phpmyadmin界面 phpmyadmin.php upupw 对应pmd界面 u ...

  6. selenium报错:This version of ChromeDriver only supports Chrome version 109 Current browser version is 112.0.5615.49...解决办法

    前言:跟GPT交互,让其写一段代码,执行失败.经过排查验证,GPT写的代码没有问题,是本地环境问题. 执行报错: selenium.common.exceptions.SessionNotCreate ...

  7. 3.你所不知道的go语言控制语句——Leetcode习题69

    目录 本篇前瞻 Leetcode习题9 题目描述 代码编写 控制结构 顺序结构(Sequence) 声明和赋值 多返回值赋值 运算符 算术运算符 位运算符 逻辑运算 分支结构 if 语句 switch ...

  8. CEMS大学生综合测评管理系统

    功能介绍 登录 首页 修改密码 提交申请 提交列表 数据可视化 审核列表 前端 components结构 搭建Vue项目 ​ Vue3快速上手: ​ https://cn.vuejs.org/guid ...

  9. 文心一言 VS 讯飞星火 VS chatgpt (91)-- 算法导论8.3 4题

    四.用go语言,说明如何在 O(n) 时间内,对 0 到 $n^3-1$ 区间内的n个整数进行排序. 文心一言: 在 O(n) 时间内对 0 到 n^3-1 区间内的 n 个整数进行排序,可以使用基数 ...

  10. 用 Rust 的 declarative macro 做了个小东西

    最近几天在弄 ddnspod 的时候,写了个宏: custom_meta_struct 解决什么问题 #[derive(Debug, Clone, serde::Serialize, serde::D ...