-f但不是-F的正则表达式

时间:2018-12-06 16:06:38

标签: regex notepad++

我想立即删除文本中小写字母之前的所有连字符,但是我仍然希望在其余上下文(大写,数字,空格之前)中保留连字符。我试过了 查找:pair<char, int> light(string& s) { pair<char, int> result; int start = 0; sort(begin(s), end(s)); for(auto finish = s.find_first_not_of(s.front()); finish != string::npos; start = finish, finish = s.find_first_not_of(s[start], start)) if(const int second = finish - start; second > result.second) result = make_pair(s[start], second); if(const int second = size(s) - start; second > result.second) result = make_pair(s[start], second); return result; } (有效) 更换? 我想删除连字符,但显然应该保留字母。

我正在使用记事本++。

2 个答案:

答案 0 :(得分:2)

您正在寻找-(?=[a-z])

答案 1 :(得分:0)

使用捕获组()捕获-之后的小写字母,并将其用作替换值。

在“替换”标签上:

查找内容: -([a-z])
替换为: \1
匹配情况:已选中
正则表达式:已选择

\1告诉Notepad ++将捕获的模式替换为第一个捕获的组,该组将是连字符后的字母。