仅保留RegEx匹配的最后一个实例
我有一个文本文档,其中包含以下文本仅保留RegEx匹配的最后一个实例,regex,notepad++,Regex,Notepad++,我有一个文本文档,其中包含以下文本 Searching at 2016-04-25 12:35:00 Searching at 2016-04-25 12:40:00 Searching at 2016-04-25 12:45:00 Found Data Searching at 2016-04-25 12:50:00 Searching at 2016-04-25 12:55:00 Found Data 我正在尝试使用记事本++删除所有带有搜索…的行,除非后面立即有数据 我目
Searching at 2016-04-25 12:35:00
Searching at 2016-04-25 12:40:00
Searching at 2016-04-25 12:45:00
Found Data
Searching at 2016-04-25 12:50:00
Searching at 2016-04-25 12:55:00
Found Data
我正在尝试使用记事本++删除所有带有搜索…
的行,除非后面立即有数据
我目前正在使用记事本++将搜索。*?$\r\n(搜索。*?
的所有实例替换为$1
。但是,我需要按几次Replace All
,这取决于它在没有找到数据的情况下连续搜索的次数
在上述示例中,所需输出为:
Searching at 2016-04-25 12:45:00
Found Data
Searching at 2016-04-25 12:55:00
Found Data
在记事本++中使用正则表达式有办法做到这一点吗?使用此模式:
/Searching.*$\n(?!\s*Found Data)/
使用此模式:
/Searching.*$\n(?!\s*Found Data)/
你可以使用这个模式
(?:Searching.*?$\r\n)+(Searching.*?\r\n)
并将其替换为
$1
您可以使用此模式
(?:Searching.*?$\r\n)+(Searching.*?\r\n)
并将其替换为
$1
以下是执行此任务的方法:
- Ctrl+H
- 查找内容:
搜索。+\R(?=搜索)
- 替换为:
NOTHING
- 全部替换
常规表达式
但不点匹配换行符
这将用另一个搜索行替换每个搜索行
\R
代表任何类型的换行符。(?=search)
是一种积极的前瞻性方法,可以确保我们在换行符后有一个单词search
。以下是一种方法:
- Ctrl+H
- 查找内容:
搜索。+\R(?=搜索)
- 替换为:
NOTHING
- 全部替换
常规表达式
但不点匹配换行符
这将用另一个搜索行替换每个搜索行
\R
代表任何类型的换行符。(?=search)
是一种积极的前瞻性方法,确保换行符后有单词search