删除特定匹配项后的所有字符

8
我将使用Notepad++来删除模式末尾的一些不需要的字符串,这让我很苦恼。
以下是我要处理的字符串集合:
myApp.ComboPlaceHolderLabel,
myApp.GridTitleLabel);
myApp.SummaryLabel + '</b></div>');
myApp.NoneLabel + ')') + '</label></div>';

我希望只保留myApp.[variable],并且去掉例如,);+ '...'等。我可以使用Notepad++的正则表达式^myApp.[a-zA-Z0-9].*?\b来匹配字符串。但事实上,我需要取反该正则表达式以匹配末尾的所有内容,以便将其替换为空白。
3个回答

10

你不需要使用否定表达式。只需将你的正则表达式放在捕获组中,并在最后添加额外的.*$$匹配行尾。所有匹配的字符(整行)都将被替换为第一个捕获组中存在的字符。.匹配任何字符,因此你需要转义点来匹配字面上的点。

^(myApp\.[a-zA-Z0-9].*?\b).*$

替换字符串:

\1

演示

仅匹配以下字符,然后用空字符串替换它。

\b[,); +]+.*$

演示


3
我认为下面的方法同样适用:

^(myApp.\w+).*$

替换字符串:
\1



来自\w和\b正则表达式元字符的区别:

  • \w代表“单词字符”,通常是[A-Za-z0-9_]。注意包括下划线和数字。

2

这正是我所需要的,谢谢 :) 现在要尝试理解它! - keldar
这将匹配任何不以 myApp 开头的字符串。 - Avinash Raj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接