我有一个包含以下文字的文字文件
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
我正在尝试使用Notepad ++删除Searching...
的所有行,除非之后有数据。
我目前正在使用Notepad ++将Searching.*?$\r\n(Searching.*?)
的所有实例替换为$1
。但是,我需要多次按Replace All
几次,具体取决于搜索的连续次数而不查找数据。
在上面的示例中,所需的输出为:
Searching at 2016-04-25 12:45:00
Found Data
Searching at 2016-04-25 12:55:00
Found Data
使用RegEx在Notepad ++中有没有办法解决这个问题?
答案 0 :(得分:1)
使用此模式:
#pragma once
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
#include <iostream>
#include <time.h>
#define SCREEN_X 1000 //Size of Memory, can be changed
#define SCREEN_Y 800 //Size of Memory, can be changed
#define ATTK_SPD 250 //Speed of Player Attack
#define P_SPD .2 //Player's Speed
#define MAX_ENEMIES 5
class Game
{
public:
Game();
~Game();
void run();
void attack(sf::Event event);
void player_movement(sf::Event event);
void movementUpdate(sf::Sprite &player, sf::Sprite enemy[]);
void playerUpdate(sf::Sprite &player);
void enemyAiUpdate(sf::Sprite &player, sf::Sprite &enemy);
void collision(sf::Sprite &player, sf::Sprite &enemy);
void check_closeWindows(sf::Event event, sf::RenderWindow &window);
void border(sf::Sprite &player);
int rand_int(int min, int quantity);
//void Game::createPlayer(sf::Sprite &player);
private:
int DASH;
double x, y;
int total_enemies;
int p_timer;
int e_timer;
};
答案 1 :(得分:1)
您可以使用此模式
(?:Searching.*?$\r\n)+(Searching.*?\r\n)
并将其替换为$1
答案 2 :(得分:1)
这是一种完成工作的方法:
Searching.+\R(?=Searching)
NOTHING
检查Regular expresssion
但不 dot matches newline
这将替换每个搜索行,然后是另一个搜索行。
\R
代表任何类型的换行符
(?=Searching)
是一个积极的先行,确保我们在换行后确定Searching
这个词。