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。所以我想移除它们以匹配。