匹配单词,不是NPP的字符

时间:2017-04-11 14:21:57

标签: regex notepad++

我这里有一些ASCII文件,其中我想用日期作为前缀,但只有那些不以“DA”或“DE”开头的行。

DEPARTAMENTO DE FILOSOFIA
DATA    LOCAL   HORÁRIO DISCIPLINA  TURMA   PROF(A) OCORRÊNCIA  ASSISTENTE
LAB-02  20:20-21:10 INF007  ?   GRINALDO    AD  FERREIRA
DEPARTAMENTO DE HISTÓRIA
DATA    LOCAL   HORÁRIO DISCIPLINA  TURMA   PROF(A) OCORRÊNCIA  ASSISTENTE
D-202   15:20-17:00 HISTORIA    2831    MICHELE AD  AILTON
DEPARTAMENTO DE LINGUAS ESTRANGEIRAS
DATA    LOCAL   HORÁRIO DISCIPLINA  TURMA   PROF(A) OCORRÊNCIA  ASSISTENTE
D-106   18:40-20:20 INGLES  13752   DEISE   FT+AD   AILTON

我使用搜索&替换,这个“^(。[^ AE]。*)$”by“01/01/2017 \ t \ 1”(得到的任何行以A或E开头的任何东西开始EOL并替换为DATE制表LINE) 。它产生:

DEPARTAMENTO DE FILOSOFIA
DATA    LOCAL   HORÁRIO DISCIPLINA  TURMA   PROF(A) OCORRÊNCIA  ASSISTENTE
LAB-02  20:20-21:10 INF007  ?   GRINALDO    AD  FERREIRA
DEPARTAMENTO DE HISTÓRIA
DATA    LOCAL   HORÁRIO DISCIPLINA  TURMA   PROF(A) OCORRÊNCIA  ASSISTENTE
01/01/2017  D-202   15:20-17:00 HISTORIA    2831    MICHELE AD  AILTON
DEPARTAMENTO DE LINGUAS ESTRANGEIRAS
DATA    LOCAL   HORÁRIO DISCIPLINA  TURMA   PROF(A) OCORRÊNCIA  ASSISTENTE
01/01/2017  D-106   18:40-20:20 INGLES  13752   DEISE   FT+AD   AILTON

但不捕获“LAB。*”。我怎么能这样做,所以它真的捕获不是以“DE”或“DA”开头的行,而是“D - ”的是?

1 个答案:

答案 0 :(得分:0)

你的^(.[^AE].*)$正则表达式匹配以换行符之外的任何字符开头的行,然后除了AE之外还有任何字符(甚至是换行符!),然后除了换行符之外,可能有0个以上的字符。

使用以下表达式:

找到:^(?!D[AE]).*
替换为:01/01/2017\t$0

<强>详情:

  • ^ - 开始一行......
  • (?!D[AE]) - 未跟DAE
  • .* - 匹配替换模式中$0反向引用引用的所有其余行。

enter image description here