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

Mik*_*ohn 6 regex notepad++ sublimetext2

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

EXPERTISE_JOBTITLECOOKIE = "JobTitleCookie";
EXPERTISE_POSITIONCOOKIE = "PositionCookie";
EXPERTISE_QUALIFICATIONSPROFESSIONALMEMBERSHIPSCOOKIE = "QualificationsProfessionalMembershipsCookie";
EXPERTISE_YEARSOFEXPERIENCECOOKIE = "YearsOfExperienceCookie";
EXPERTISE_ADDITIONALCOMMENTSCOOKIE = "AdditionalCommentsCookie";
Run Code Online (Sandbox Code Playgroud)

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

我试过了:

^\*\d+$
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢

Jos*_*ier 8

有人可以解释它的^\*\d+$作用

  • ^ - 表示线路起点的锚点
  • \*- *角色字面上(因为它逃脱了)
  • \d+ - 一个或多个数字 [0-9]
  • $ - 表示线路末端的锚点

换句话说,^\*\d+$将匹配诸如*1或之类的行*10000.


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

^(.*?) =.*$
Run Code Online (Sandbox Code Playgroud)

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

如果要在捕获组之后删除所有内容,只需替换\1此处的示例所示.

如果要修改字符串=字符,替换\1 = "Some String",因为这个证明这里的例子.


Tot*_*oto 5

我会做:

类型Ctrl+H

查找内容:=.+$
替换为:NOTHING

类型 Replace all

确保已检查Regular Expression但未检查. matches newline

这将替换=(包括)之后的所有内容。


S22*_*S22 0

我假设您想将变量的值替换为某个值。问题可能是什么?

但是,无论您是否愿意,此正则表达式都会将您的变量名称替换为“aaa”:)

记事本++:

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

正则表达式解释:读取不包含等号的文本,然后找到等号,然后找到不包含等号的文本,所有这些都在同一行。将 before = 和 after = 分为两个不同的组。创建替换时请参考第 1 组,变量名称(= 之前)。