Regluar表达式以编辑端口号列表NotePad ++

时间:2018-07-30 14:08:55

标签: notepad++

一段时间以来,我一直在这里寻找解决方案,并尝试了几种与我的问题类似的解决方案,但没有成功。

我有一个交换机端口列表,它们的格式都如下:

SWITCHKANSASAS01WAN1008

1008,其中1是堆栈号,0是插槽,08是端口。

我希望达到的最终结果是:

SWITCHKANSASAS01.cus.nb.mac.net/1 (Where this one is the first number after WAN).

然后将WAN (008)之后的其余三个数字拆分为如下形式:

  • GigaEthernet 0/8(减去零)

或者如果它是10而不是08

  • GigaEthernet 0/10

最终打印出来的样子:

SWITCHKANSASAS01.cus.nb.mac.net/1 GigaEthernet 0/8 

或者如果不是10则为08 GigaEthernet 0/10

我尝试一次执行每个步骤,但是却变得越来越混乱。

我是正则表达式的新手,希望您能为您提供帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

  • Ctrl + H
  • 查找内容:WAN(\d)(\d)0?(\d{1,2})
  • 替换为:.cus.nb.mac.net/$1 GigaEthernet $2/$3
  • 检查环绕
  • 检查正则表达式
  • 全部替换

说明:

WAN         : literally
(\d)        : group 1, 1 digit
(\d)        : group 2, 1 digit
0?          : 0 or nothing
(\d{1,2})   : group 3, 1 (if there is a 0 before) or 2 digits (else)

给出如下输入:

SWITCHKANSASAS01WAN1008
SWITCHKANSASAS01WAN1010

我们得到了:

SWITCHKANSASAS01.cus.nb.mac.net/1 GigaEthernet 0/8
SWITCHKANSASAS01.cus.nb.mac.net/1 GigaEthernet 0/10