[英]Regex to hide first two IP address octets
我已经使用 powershell 使用以下正则表达式命令“x”IP 地址的前两个八位字节;
-Replace '(?=\d{1,3}\.\d{1,3}\.)\d', 'x'
在以下数据集上;
10.101.11.11
101.11.11.11
2003.12.11
我明白了;
xx.xxx.11.11
xxx.xx.11.11
2xxx.12.11
它根据需要正确格式化 IP 地址,但我似乎无法让它忽略日期。 在他们中
您可以使用
(?:\G(?!^)|\b)\d(?=\d{0,2}\.\d{1,3}\.)
请参阅正则表达式演示。 详情:
(?:\G(?!^)|\b)
- 单词边界或上一个成功匹配的结尾\d
- 一个数字(?=\d{0,2}\.\d{1,3}\.)
- position 紧跟零到两位数字 + .
+ 一到三位数字 + .
.试试这个正则表达式:
-Replace '\d{1,3}\.\d{1,3}.(\d{1,3}.\d{1,3})
Write-Host $('2023.12.12' -Replace '\d{1,3}\.\d{1,3}.(\d{1,3}.\d{1,3})', 'xxx.xxx.$1')
2023.12.12
Write-Host $('202.21.32.1' -Replace '\d{1,3}\.\d{1,3}.(\d{1,3}.\d{1,3})', 'xxx.xxx.$1')
xxx.xxx.32.1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.