【发布时间】:2016-05-09 16:49:52
【问题描述】:
我需要创建一个高效的正则表达式(回溯量最少)来从一些日志中提取顶级域名。 URL 可以是四种类型之一,所以我需要以下内容:
- 在“website.ca/somepage”中提取website.ca
- 在 "https://subdomain.website.com/somepage" 中提取 website.com
- 在“10.10.10.10/somepage”中提取10.10.10.10
- 在 "myserver/somepage" 中提取 myserver
我有一个半有效的解决方案,但它遗漏了一些。
"[^"]*(\w+\.[a-z]+|\d+\.\d+\.\d+\.\d+)\/
有人有什么建议吗?
【问题讨论】:
-
你为什么不简单地
splitstringby/并取它的第一个元素? -
这是在 SIEM 系统中,所以它不是真正的脚本/编程环境。它只是使用 Java 正则表达式引擎来解析日志。
标签: java regex regex-lookarounds