正则表达式替换字符实例后的所有内容

时间:2015-12-23 14:37:48

标签: regex sublimetext2 notepad++

我有以下格式的大量数据: -

EXPERTISE_JOBTITLECOOKIE = "JobTitleCookie";
EXPERTISE_POSITIONCOOKIE = "PositionCookie";
EXPERTISE_QUALIFICATIONSPROFESSIONALMEMBERSHIPSCOOKIE = "QualificationsProfessionalMembershipsCookie";
EXPERTISE_YEARSOFEXPERIENCECOOKIE = "YearsOfExperienceCookie";
EXPERTISE_ADDITIONALCOMMENTSCOOKIE = "AdditionalCommentsCookie";

我正在寻找一些可用于替换=字符后面的所有字符的正则表达式,只留下大写字母中的变量名。

我试过了:

^\*\d+$

但这没有被提起。我也在寻找适用于Sublime Text 2中同样问题的正则表达式。

有人可以解释一下上面做了什么,以及我在RegEx声明中可能会寻找什么?

由于

3 个答案:

答案 0 :(得分:7)

  

有人可以解释^\*\d+$做什么

  • ^ - 表示行开头的锚点
  • \* - 字面上的*字符(因为它被转义)
  • \d+ - 一个或多个数字[0-9]
  • $ - 表示行尾的锚点

换句话说,^\*\d+$会匹配*1*10000等行。

您正在寻找一个正则表达式来捕获字符,直到 =字符:

^(.*?) =.*$

这将捕获空格后跟=字符的字符,并匹配该行上的所有剩余字符,以便可以替换它们。

如果您要删除捕获组之后的所有内容,只需使用此example here所示的\1替换。

如果您想在 =字符后修改字符串,请使用此example here替换为\1 = "Some String"

答案 1 :(得分:3)

我会这样做:

输入 Ctrl + H

找到:=.+$
替换为:NOTHING

键入替换所有

请务必检查Regular Expression但不是. matches newline

这将取代=(包括)之后的所有内容。

答案 2 :(得分:0)

我假设你想要将变量的值替换为某些东西。问题可能是什么?

但是,这个正则表达式将您的变量名称替换为" aaa",无论您是否需要它:)

记事本++:

正则表达式:([^=\r\n]*)=([^=\r\n]*) 替换为:\1="aaa"

正则表达式解释: 读取不包含等号的文本,然后找到一个等号,然后找到不包含等号的文本,全部在同一行。在两个不同的组之前=和之后的组。 创建替换时,请参阅组1,变量名称(在=之前)。