Notepad ++在模式匹配后加入行

问题描述 投票:0回答:1

我正在快速使用Notepad ++中的RegEx。每次找到MAC地址后,我如何合并线路?因此,找到具有5:和12个字符的行,每个行之间有2个字符:并合并该行和所有后续行,直到下一个MAC

这就是我所拥有的

12:34:4b:17:3a:4a
iOS
Barney
BarneyZ/10.20.7.138
BigHouse Wireless Users
BH New Office NW corner
7
11
802.11b/g
99%
Authorized
EAP

我希望它像:

12:34:4b:17:3a:4a iOS Barney BarneyZ/10.20.7.138 BigHouse Wireless Users BH New Office NW corner 7 11 802.11b/g 99% Authorized EAP

使用CSV分隔符?

我如何在Notepad ++中这样做?谢谢!

notepad++
1个回答
0
投票

这将取代所有换行符,后面跟一个带有单个空格的MAC。

  • 按Ctrl + H
  • 找到什么:\R(?!([a-f0-9]{2})(?::(?1)){5})
  • 替换为:#空间或任何你想要的东西
  • UNcheck Match案例
  • 检查包裹
  • 检查正则表达式
  • 全部替换

说明:

\R                  # any kind of linebreak (i.e. \r, \n, \r\n)
(?!                 # negative lookahead, make sure we haven't after
    ([a-f0-9]{2})   # group 1, 2 hexa characters
    (?:             # non capture group
        :(?1)       # a colon followed by same pattern as defined in group 1 (i.e 2 hexa characters)
    ){5}            # end group, must appear 5 times
)                   # end lookahead

我在一个包含你的例子3次的文件中运行它,它给出:

12:34:4b:17:3a:4a iOS Barney BarneyZ/10.20.7.138 BigHouse Wireless Users BH New Office NW corner 7 11 802.11b/g 99% Authorized EAP
12:34:4b:17:3a:4a iOS Barney BarneyZ/10.20.7.138 BigHouse Wireless Users BH New Office NW corner 7 11 802.11b/g 99% Authorized EAP
12:34:4b:17:3a:4a iOS Barney BarneyZ/10.20.7.138 BigHouse Wireless Users BH New Office NW corner 7 11 802.11b/g 99% Authorized EAP 
© www.soinside.com 2019 - 2024. All rights reserved.