【发布时间】:2018-09-12 20:00:21
【问题描述】:
我正在尝试创建一个可以选择匹配任何子域并匹配 TLD 的正则表达式。例如,它应该匹配……
- https://example.com
- http://example.com
- https://test.example.com
- test.example.com
- example.com
它不应该匹配……
- fakeexample.com
- https://fakeexample.com
- fake.fakeexample.com
到目前为止,我有这个,它匹配子域,但在顶级域时不匹配。
(\A|(https?:\/\/))?(\w*|\S*)\.{1}example\.com
【问题讨论】:
-
谢谢,成功了!
-
这个问题不能用正则表达式解决,因为完全相同域路径可能引用或不引用顶级域,具体取决于客户端的网络。特别是,您发布的域路径都是 relative,而不是 absolute 路径,因此它们是相对于客户端的默认后缀查找的。例如,如果我在德国的一家名为“Foo”的公司工作,该公司拥有域
foo.de,并且它的通信部门正在使用域com并拥有一个名为example的服务器,那么对于 @ 的 DNS 查询987654329@实际上会返回example.com.foo.de.的地址。 -
下面的答案有什么问题?