繁体   English   中英

隐藏前两个 IP 地址八位字节的正则表达式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM