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

问题描述 投票:4回答:3

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

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

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

我试过了:

^\*\d+$

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

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

谢谢

regex sublimetext2 notepad++
3个回答
7
投票

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

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

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


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

^(.*?) =.*$

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

如果你想删除捕获组之后的所有内容,只需用\1替换为example here

如果你想修改=字符后的字符串,请用\1 = "Some String"替换,如example here所示。


3
投票

我会做:

键入Ctrl + H.

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

键入全部替换

一定要检查Regular Expression但不检查. matches newline

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


0
投票

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

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

记事本++:

正则表达式:qazxsw poi替换为:qazxsw poi

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

© www.soinside.com 2019 - 2024. All rights reserved.