Notepad++ 用于编辑端口号列表记事本的正则表达式++;

Notepad++ 用于编辑端口号列表记事本的正则表达式++;,notepad++,Notepad++,一段时间以来,我一直在这里寻找解决方案,并尝试了一些与我的问题类似的不同解决方案,但没有成功 我有一个交换机端口列表,它们的格式如下: SWITCHKANSASAS01WAN1008 1008其中1是堆栈编号,0是插槽,08是端口 我希望达到的最终结果是: SWITCHKANSASAS01.cus.nb.mac.net/1 (Where this one is the first number after WAN). 然后将WAN(008)之后剩余的三个数字拆分如下: SWITCHKANSA

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

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

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

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

SWITCHKANSASAS01.cus.nb.mac.net/1 (Where this one is the first number after WAN).
然后将
WAN(008)
之后剩余的三个数字拆分如下:

SWITCHKANSASAS01WAN1008
  • 千兆以太网0/8
    (去掉该零)
或者如果它是
10
而不是
08

  • 千兆以太网0/10
最终打印结果如下所示:

SWITCHKANSASAS01.cus.nb.mac.net/1 GigaEthernet 0/8 
或者如果它是10千兆以太网,而不是0/10千兆以太网

我试着一步一步地做每一步,但总是越来越糟糕

我不熟悉正则表达式,希望你能帮我

提前感谢。

  • Ctrl+H
  • 查找内容:
    WAN(\d)(\d)0?(\d{1,2})
  • 替换为:
    .cus.nb.mac.net/$1千兆以太网$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

不知何故,这里少了一个零,我不完全理解你的逻辑,你选择了
1008
并提出了
/1千兆以太网0/8
。哦,这只是因为我想最终将这些数据与电子表格进行比较,将1-9之间的任何端口列为千兆以太网0/1或0/2,而不是0/01或0/02。所以我想移除它们以匹配。