我正在尝试在 Notepad++ 中创建一个宏来查找包含%
符号的 IP 地址。
因此,我尝试查找符合以下条件的 IP 地址:
10.x.x.x%2
就是这样,我尝试了许多不同的正则表达式变体,可以毫无问题地找到 IP,但我似乎无法附加%2
到搜索中;我尝试过的每种方法,即使使用 ASCII 代码,都失败了。
我必须遍历所有的10.x.x.x%2
并将它们更改为%1
。问题是我10.x.x.x%1
在同一个文件中有一堆 ,我需要保留它们。
顺便说一下,这是来自 F5 设备的配置,符号%
是我们区分不同路由域的方式。
答案1
- Ctrl+H
- 找什么:
(10(?:\.\d{1,3}){3})%2
- 用。。。来代替:
$1%1
- Replace all
解释:
( : start group 1
10 : literally 10
(?: : start non capture group
\.\d{1,3} : a dot followed by 1 to 3 digits
){3} : group must appear 3 times
) : end group 1
%2 : literally %2
- 检查正则表达式
- 请勿检查
. matches newline
替代品:
$1 : content of group 1
%1 : literally %1
我假设每行只有 IP 地址。如果要匹配特定的 IP 地址,请(?:\.\d{1,3}){3})
用(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})
以下代码替换:
- 找什么:
(10(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})%2
- 用。。。来代替:
$1%1