Notepad ++ Regex查找和替换

时间:2018-03-19 10:29:36

标签: regex notepad++

我有以下格式数据的样本数据文件

Data_Set = "001" , Status = "TRUE" ;
Data_Set = "002" , Status = "TRUE" ;
Data_Set = "003" , Status = "TRUE" ;
Data_Set = "004" , Status = "TRUE" ;
Data_Set = "005" , Status = "TRUE" ;
Data_Set = "006" , Status = "TRUE" ;

我希望将以上所有数据替换为以下格式

RMV_Set = "001" , Status = "TRUE" ; (mistake)

已更正,必需输出

RMV_Set = "001" , Status = "001" ;
RMV_Set = "002" , Status = "002" ;
RMV_Set = "003" , Status = "003" ;
RMV_Set = "004" , Status = "004" ;
RMV_Set  = "005" , Status = "005" ;
RMV_Set = "006" , Status = "006" ;

我在Notepad ++中尝试过跟随Regex方法,它不起作用,请帮我解决这个问题

**Find** : Data_Set = "[0-9]*" , Status = "TRUE" ;
**Replace** : RMV_Set = "$1" , Status = "TRUE" ;

3 个答案:

答案 0 :(得分:0)

只需将Data_Set替换为RMV_Set,为什么需要正则表达式?

答案 1 :(得分:0)

  

如果要替换文件中的每个Data_

您可以避免使用RegEx,只需:

查找 Data_

替换 RMV_

  

如果您需要确保只在正确的背景下替换

您可以使用此RegEx:Data_Set ?= ?("\d+")(?= ?, ?Status ?= ?"TRUE" ?;)

  • Data_Set ?= ?字面上匹配Data_Set =有或没有空格

  • ("\d+")捕获由""

  • 包围的一个或多个数字
  • (?= ?, ?Status ?= ?"TRUE" ?;) (?= ... )确保在您的匹配后找到以下表达式。

查找 Data_Set ?= ?("\d+")(?= ?, ?Status ?= ?"TRUE" ?;)

替换 RMV_Set = $1

<强> Demo.

答案 2 :(得分:0)

也试试我的解决方案

查找内容:data(_.*")(\d+")(.*")true"
替换为:RMV$1$2$3$2