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

以下是一个示例文本:

[ 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. DolphinScheduler3.1.7集成SAP HANA

    源码地址:GitHub - apache/dolphinscheduler at 3.1.7-release 个人fork gitee地址:DolphinScheduler:Gitee) 后端代码更改 ...

  2. Spring-Bean(三)

    Bean生命周期配置 init-method:指定类中的初始化方法名称 destory-method:指定类中销毁方法名称 Bean标签配置 <bean id="UserDao&quo ...

  3. Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: java.net.ConnectException: 拒绝连接 (Connection refused) (state=08S01,code=0)

    一:启动hiveserver2服务 二:启动beeline 三:连接hiveserver2(下面的1000000端口号适当改小写因为其超出最大端口号的范围建议改为10000) 如果启动不成功实现我们先 ...

  4. 一个批处理,解决你重装python第三方模块的烦恼~(1.0版本)

    @echo offpip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simplepython -m pip insta ...

  5. Swiper.vue?56a2:132 Uncaught DOMException: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.

    错误代码 解决方案 删除div标签.修改后,如下所示:

  6. [nginx]防范空主机头

    空主机头防范主要是防止别人恶意将域名解析到服务器IP上. 配置示例 方式一,增加vhost # http的空主机头防范 server { listen 80 default; server_name ...

  7. 使用Java来开发物联网应用

    这是Hello, Lithosphere Tutorials系列教程中的其中一篇. 感觉介绍用C/C++,用Python来开发物联网应用的文章比较多,用Java来做物联网的文章比较少. 这篇文章,介绍 ...

  8. 谈谈JSF业务线程池的大小配置

    1.简介 JSF业务线程池使用JDK的线程池技术,缺省情况下采用Cached模式(核心线程数20,最大线程数200).此外,还提供了Fixed固定线程大小的模式,两种模式均可设置请求队列大小. 本文旨 ...

  9. C#开发的基础工具类集合 - 开源研究系列文章

    今天发布一个基础工具类代码集合. 以前有发布过一个类似的类库(见博文: Magical平台类库代码分享 ),不过那个版本有点久了,也没有这次这个全面,这次发布的是一个很多地方用到的基础类库代码. 1. ...

  10. Building-Mobile-Apps-with-Ionic-2中文翻译工作

    最近没啥工作量, 然后学完了这本书, 接着又茫然找不到该干啥, 所以想着何不翻译这个书呢. 这本书首先给我们普及了Ionic 2的基础知识, Ionic 2和Ionic 1有本质上的区别, Ionic ...