在某次比赛后删除所有字符

时间:2014-09-13 18:28:40

标签: regex

我正在使用Notepad ++从一个模式的末尾删除一些不需要的字符串,这对我来说已经有了我。

我有以下几组字符串:

myApp.ComboPlaceHolderLabel,
myApp.GridTitleLabel);
myApp.SummaryLabel + '</b></div>');
myApp.NoneLabel + ')') + '</label></div>';

我想只留下myApp.[variable]并摆脱,例如,);+ '...'

使用Notepad ++,我可以使用^myApp.[a-zA-Z0-9].*?\b匹配字符串本身(它有点乱,但它可以满足我的需要)。

但实际上,我需要否定正则表达式,以匹配最后的所有内容,所以我可以用空白替换它。

3 个答案:

答案 0 :(得分:7)

你不需要去否定。只需将正则表达式置于捕获组中,并在最后添加额外的.*$$匹配一行的结尾。所有匹配的字符(整行)将替换为第一个捕获组中存在的字符。 . 匹配任何字符,因此您需要转义点以匹配文字点。

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

替换字符串:

\1

DEMO

仅匹配以下字符,然后将其替换为空字符串。

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

DEMO

答案 1 :(得分:2)

(^.*?\.[a-zA-Z]+)(.*)$

使用此。替换

$1

参见演示。

http://regex101.com/r/lU7jH1/5

答案 2 :(得分:2)

我认为这同样有效:

^(myApp.\w+).*$

替换字符串:

\1



来自difference between \w and \b regular expression meta characters

  • \w代表&#34;字符&#34;,通常为[A-Za-z0-9_]。请注意包含下划线和数字。