我有以下格式的大量数据: -
EXPERTISE_JOBTITLECOOKIE = "JobTitleCookie";
EXPERTISE_POSITIONCOOKIE = "PositionCookie";
EXPERTISE_QUALIFICATIONSPROFESSIONALMEMBERSHIPSCOOKIE = "QualificationsProfessionalMembershipsCookie";
EXPERTISE_YEARSOFEXPERIENCECOOKIE = "YearsOfExperienceCookie";
EXPERTISE_ADDITIONALCOMMENTSCOOKIE = "AdditionalCommentsCookie";
我正在寻找一些可用于替换=
字符后面的所有字符的正则表达式,只留下大写字母中的变量名。
我试过了:
^\*\d+$
但这没有被提起。我也在寻找适用于Sublime Text 2中同样问题的正则表达式。
有人可以解释一下上面做了什么,以及我在RegEx声明中可能会寻找什么?
由于
答案 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,变量名称(在=之前)。