我试图只捕获此日期内的主机名,但是我的正则表达式在主机名内时损坏了,.
因为我删除了主机名域
正则表达式
^([^;@#.s]+)
数据
srvdata;172.24.154.210
srvnet;10.16.0.1
srvdata2 300
#srvdata3
srvdata3 #srvdata3
srvdata4.domain.com
srvdata.4.domain.com
输出
srvdata
srvnet
srvdata2
srvdata3
srvdata4
srvdata
期望的输出
srvdata
srvnet
srvdata2
srvdata3
srvdata4
srvdata.4
REGEX101
这将根据您提供的数据工作:
^[^#]+?(?:.d+)?(?=[. ;])
https://regex101.com/r/oOUBjD/1
试试这个:
(.*)(?=.domain.com)
要测试它:链接
我使用前瞻查看在域之前捕获主机名字符串。 显然,如果您有多个域或没有域,则需要更新上面的正则表达式以包含这些选项。