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

以下是一个示例文本:

[ 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. quarkus实战之三:开发模式(Development mode)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 前文咱们曾提到过几种启动方式,有一种用mav ...

  2. CobaltStrike4.8--云服务器搭建

    系统版本选用 选择最熟悉的版本,我这边用的CentOS7.8,选用乌班图的话,会有一些命令的不一致 配置运行环境 CobaltStrike4.0支持jdk1.8的环境,4.5开始就不支持1.8了,本文 ...

  3. 2021-3-9 保存csv格式文件

    public void SaveCSV(DataTable dt, string fullPath) { FileInfo fi = new FileInfo(fullPath); if (!fi.D ...

  4. 从零玩转系列之微信支付实战PC端支付微信回调接口搭建

    一.前言 halo各位大佬很久没更新了最近在搞微信支付,因商户号审核了我半个月和小程序认证也找了资料并且将商户号和小程序进行关联,至此微信支付Native支付完成.此篇文章过长我将分几个阶段的文章发布 ...

  5. 如何在CMD窗口运行python文件

    进入文件所在的路径输入: python  文件名

  6. .Net Web API 004 Controller获取对象列表,传入数据以及对象

    1.返回UserEntityList 这个服务接口的目的是分为用户列表,代码如下所示. /// <summary> /// 得到用户列表 /// </summary> /// ...

  7. 如何正确使用 ThreadLocal,你真的用对了吗?

    引言: 当多线程访问共享且可变的数据时,涉及到线程间同步的问题,并不是所有时候,都要用到共享数据,所以就需要ThreadLocal出场了. ThreadLocal又称线程本地变量,使用其能够将数据封闭 ...

  8. spring-mvc系列:简介和基本使用

    目录 一.简介 1.什么是MVC 2.什么是SpringMVC 3.SpringMVC的特点 二.基本使用 1.开发环境 2.创建maven工程 3.配置web.xml 4.创建SpringMVC的配 ...

  9. 【python笔记】高阶函数map、filter、reduce

    前言 map().reduce().filter()是python的三个高阶函数.所谓高阶函数,指的是将函数作为参数并返回函数作为结果的函数.下面代码的sing_ready只是一个简单高阶函数示例: ...

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

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