Notepad ++正则表达式问题与非匹配模式

时间:2015-02-04 23:12:11

标签: regex notepad++

我正在尝试修改不包含一个模式但包含其他模式的行:

Table: tablename         page.
Table: xxcellname 

每当单词“Table”出现在一行的开头并且单词“page”没有出现在该行上时,我想用空格替换“Table:”。 所以在上面的例子中

Table: xxcellname

变为

         cellname

Table: tablename         page.

保持相同

我尝试过使用:

替换(^Table :)^((!?.*Page).)*$\2

1 个答案:

答案 0 :(得分:0)

试试这个表达式:

(?m)^Table:((?:(?!page).)*)$

并替换为6个空格和第一个捕获组:

      \1

应用于输入时:

Table: tablename         page.
Table: xxcellname 
Table: tablename         page.
Table: xxcellname 
Table: tablename         page.
Table: xxcellname 

它将提供以下输出:

Table: tablename         page.
       xxcellname 
Table: tablename         page.
       xxcellname 
Table: tablename         page.
       xxcellname