notepad++中使用正则表达式过滤数据

示例:

姓名: 王五
邮箱: wangwu@example.com
姓名: 张三
电话: 138-1234-5678
姓名: 李四
电话: 13987654321
电话: 13987654123
姓名: 王五
邮箱: wangwu@example.com

 

过滤包含姓名下面是电话的段落:

^姓名:((?!^姓名).)*?电话((?!^姓名).)*$

结果:

姓名: 张三
电话: 138-1234-5678
姓名: 李四
电话: 13987654321
电话: 13987654123

解析:

((?!^姓名).)*?

((?!^姓名).)*$

.*?非贪婪模式,尽可能少的匹配字符
.*贪婪模式,尽可能多的匹配字符
(?!)否定先行断言,匹配一个位置,这个位置后面不是指定的模式

^姓名:((?!^姓名).)*?电话((?!^姓名).)*$
//匹配“姓名:”开通的字符串,然后尽可能少匹配下一个不是“姓名”的字符,在匹配“电话”,在尽量匹配不是“姓名”的字符直到每行结尾。
posted @ 2025-10-14 11:06  402T  阅读(15)  评论(0)    收藏  举报