Regex 在记事本+;中使用正则表达式查找并替换多个替换+;

Regex 在记事本+;中使用正则表达式查找并替换多个替换+;,regex,notepad++,Regex,Notepad++,我有一个文本文件,其中一些行的格式与其他行不同。更准确地说:在这种类型的行中,字段的长度为9个字符,而在其他行中,字段的长度为7个字符。(格式错误)行的格式为: 第一个字段包含40个字符,然后是4个空格,然后是1个字符(名为note的字段,例如字母“a”、空格“或字母“b”),然后是4个空格。前面的序列4个空格+1个字符+4个空格(以下示例)重复多次: 例如,这样一条线是: 由于这些线的特殊性,我得到了线之间的偏移: 我想去掉2个不需要的空格,这样在我的行中,一个字段将变为7个字符宽,就像在其他

我有一个文本文件,其中一些行的格式与其他行不同。更准确地说:在这种类型的行中,字段的长度为9个字符,而在其他行中,字段的长度为7个字符。(格式错误)行的格式为: 第一个字段包含40个字符,然后是4个空格,然后是1个字符(名为note的字段,例如字母“a”、空格“或字母“b”),然后是4个空格。前面的序列4个空格+1个字符+4个空格(以下示例)重复多次:

例如,这样一条线是:

由于这些线的特殊性,我得到了线之间的偏移:

我想去掉2个不需要的空格,这样在我的行中,一个字段将变为7个字符宽,就像在其他行中一样: 第一个字段是40个字符,然后是3个空格,然后是1个字符(名为note的字段,例如字母“a”),然后是3个空格

我可以使用Notepad++中的正则表达式find“查找”这样的行:

以下是偏移量文件的较大摘录:

正确的文件应该是:

谢谢你的帮助,
朱利安

你的问题有点不清楚,但这让我明白了:

 ([^ ]) 
\1

注意括号前有一个空格,括号后有一个空格。这将在每个非空格字符之前和之后删除一个空格。它会忽略26,因为这是两个非空格字符,所以请替换所有的works。

为什么不将所有出现的
a\s*
替换为
a
?(即,
a
后跟任意数量的空格,其中
a
后跟7个空格。)可能
(?->
$1
。感谢Adam的建议,但由于注释字段也可以是我指出的空格字符,因此这些空格将不匹配。此外,如果我允许这9个空格匹配而不考虑行的其余部分,则其他空格字符串将匹配并替换为“全部替换”。抱歉,我的意思是感谢Wiktor。此外,由于Adam编辑我的问题是,显示的格式不再代表我面对的文本文件。谢谢Gary。但我需要替换4个空格字符的序列,1个字符(字母或空格),4个空格字符乘以3个空格字符,1个字符,3个空格字符,只有当它出现在以40个空格字符开头的一行中,并且在同一行中只能找到这样的序列时。我已经恢复到我的文章的原始版本,因为亚当的编辑使它不连贯。@Julien啊,我明白了。很高兴知道,现在有意义了。我会的我稍后再看。你试过我的建议了吗?如果偏移行只有一个字符的单词,而好的行有两个字符的单词,它仍然可以工作。如果没有,我建议你发布一个更大的文件片段。正如你建议的,我更新了我的问题,添加了一个更大的带有偏移量的文件摘录,以及我预期的结果。
                                            a        a        a        a        a        c        b        a        a        a        a        a    
                                           26     26     26     26     26     26     26     26     26     26     26    
                                            a        a        a        a        a        c        b        a        a        a        a    
Find what : ^ {40}(( {4})(?<note>.)( {4}))+
                                           26     26     26     26     26     26     26     26     26     26     26  
                                           a      a      a      a      a      c      b      a      a      a      a    
20/03/2018
H0917    26_LAV  0 Semaine     2 En service le 04 Septembre 2017 - TAD Partiel                                    11/07/2017 16:09 H0917     
Vertical           Notes
Montferrier-sur-Lez - Cirad de Baillargu                                                 Montferrier-sur-Lez - Cirad de Baillarguet                             
Montpellier Occitanie                                                                    Montpellier Occitanie                                                  
 26  Occitanie - Montferrier-sur-Lez          26  Montferrier-sur-Lez - Cirad de BaillarguMontpellier Occitanie                                       Montferrier-sur-Lez - Cirad de Baillarguet                  
########## VOYAGES
 0 Semaine    Montferrier-sur-Lez - Cirad de Baillarguet                  
                                           26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26   
                                                                                         a        a        a        a        a        c        b        a        a        a        a        a                                                                       a        a        a        a        a        

Occitanie                                 6:50   7:20   7:50   8:20   8:50   9:30  10:10  10:40  11:10  11:40  12:10  12:10  12:40  13:10  13:40  14:10  14:40  15:10  15:40  16:10  16:40  17:10  17:40  18:10  18:40  19:10  19:40  20:10  20:40  
Lycée Frédéric Bazille                    6:58   7:28   7:58   8:28   8:58   9:37  10:17  10:47  11:17  11:47  12:17  12:17  12:47  13:17  13:47  14:18  14:48  15:18  15:48  16:18  16:49  17:19  17:49  18:19  18:49  19:18  19:47  20:17  20:47  
La Lironde                                7:02   7:32   8:02   8:35   9:05   9:42  10:22  10:52  11:22  11:52  12:23  12:23  12:52  13:22  13:52  14:23  14:53  15:23  15:53  16:23  16:56  17:26  17:56  18:26  18:56  19:23  19:52  20:22  20:52  
Chemin Neuf                               7:07   7:37   8:07   8:40   9:10   9:47  10:27  10:57  11:27  11:57  12:28  12:28  12:57  13:27  13:57  14:28  14:58  15:28  15:58  16:28  17:01  17:31  18:01  18:31  19:01  19:28  19:57  20:27  20:57  
La Grand Font                             7:08   7:38   8:08   8:41   9:11   9:48  10:28  10:58  11:28  11:58  12:29  12:29  12:58  13:28  13:58  14:29  14:59  15:29  15:59  16:29  17:02  17:32  18:02  18:32  19:02  19:29  19:58  20:28  20:58  
Picadou                                   7:09   7:39   8:09   8:42   9:12   9:49  10:29  10:59  11:29  11:59  12:30  12:30  12:59  13:29  13:59  14:30  15:00  15:30  16:00  16:30  17:03  17:33  18:03  18:33  19:03  19:30  19:59  20:29  20:59  
Distillerie                               7:11   7:41   8:11   8:44   9:14   9:51  10:31  11:01  11:31  12:01  12:32  12:32  13:01  13:31  14:01  14:32  15:02  15:32  16:02  16:32  17:05  17:35  18:05  18:35  19:05  19:32  20:01  20:31  21:01  
Cirad de Baillarguet                      7:14   7:44   8:14   8:47   9:17   9:54  10:34  11:04  11:34  12:04  12:35  12:35  13:04  13:34  14:04  14:35  15:05  15:35  16:05  16:35  17:08  17:38  18:08  18:38  19:08  19:35  20:04  20:34  21:04  
20/03/2018
H0917    26_LAV  0 Semaine     2 En service le 04 Septembre 2017 - TAD Partiel                                    11/07/2017 16:09 H0917     
Vertical           Notes
Montferrier-sur-Lez - Cirad de Baillargu                                                 Montferrier-sur-Lez - Cirad de Baillarguet                             
Montpellier Occitanie                                                                    Montpellier Occitanie                                                  
 26  Occitanie - Montferrier-sur-Lez          26  Montferrier-sur-Lez - Cirad de BaillarguMontpellier Occitanie                                       Montferrier-sur-Lez - Cirad de Baillarguet                  
########## VOYAGES
 0 Semaine    Montferrier-sur-Lez - Cirad de Baillarguet                  
                                           26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26     26   
                                                                              a      a      a      a      a      c      b      a      a      a      a      a                                                       a      a      a      a      a        

Occitanie                                 6:50   7:20   7:50   8:20   8:50   9:30  10:10  10:40  11:10  11:40  12:10  12:10  12:40  13:10  13:40  14:10  14:40  15:10  15:40  16:10  16:40  17:10  17:40  18:10  18:40  19:10  19:40  20:10  20:40  
Lycée Frédéric Bazille                    6:58   7:28   7:58   8:28   8:58   9:37  10:17  10:47  11:17  11:47  12:17  12:17  12:47  13:17  13:47  14:18  14:48  15:18  15:48  16:18  16:49  17:19  17:49  18:19  18:49  19:18  19:47  20:17  20:47  
La Lironde                                7:02   7:32   8:02   8:35   9:05   9:42  10:22  10:52  11:22  11:52  12:23  12:23  12:52  13:22  13:52  14:23  14:53  15:23  15:53  16:23  16:56  17:26  17:56  18:26  18:56  19:23  19:52  20:22  20:52  
Chemin Neuf                               7:07   7:37   8:07   8:40   9:10   9:47  10:27  10:57  11:27  11:57  12:28  12:28  12:57  13:27  13:57  14:28  14:58  15:28  15:58  16:28  17:01  17:31  18:01  18:31  19:01  19:28  19:57  20:27  20:57  
La Grand Font                             7:08   7:38   8:08   8:41   9:11   9:48  10:28  10:58  11:28  11:58  12:29  12:29  12:58  13:28  13:58  14:29  14:59  15:29  15:59  16:29  17:02  17:32  18:02  18:32  19:02  19:29  19:58  20:28  20:58  
Picadou                                   7:09   7:39   8:09   8:42   9:12   9:49  10:29  10:59  11:29  11:59  12:30  12:30  12:59  13:29  13:59  14:30  15:00  15:30  16:00  16:30  17:03  17:33  18:03  18:33  19:03  19:30  19:59  20:29  20:59  
Distillerie                               7:11   7:41   8:11   8:44   9:14   9:51  10:31  11:01  11:31  12:01  12:32  12:32  13:01  13:31  14:01  14:32  15:02  15:32  16:02  16:32  17:05  17:35  18:05  18:35  19:05  19:32  20:01  20:31  21:01  
Cirad de Baillarguet                      7:14   7:44   8:14   8:47   9:17   9:54  10:34  11:04  11:34  12:04  12:35  12:35  13:04  13:34  14:04  14:35  15:05  15:35  16:05  16:35  17:08  17:38  18:08  18:38  19:08  19:35  20:04  20:34  21:04  
 ([^ ]) 
\1