【发布时间】:2020-03-28 17:38:07
【问题描述】:
我正在尝试匹配字符串中的所有域,例如:
"hello.test.com"
'hello-to.ya.com'
"test.two.for.com"
基本上匹配单引号和双引号之间的所有字符 .com
这是我想出的:
\.([a-z0-9-])+\.(com)
我正在使用这个可视化网站进行测试: https://regexr.com/
但它与示例 #3 不匹配,我也想搜索外部引号。我正在以字符串格式解析 JSON,所以我不想要额外的东西。
示例 JSON:
'DbiResourceId': 'db-ZDKG55HDKSLJ33',
'DeletionProtection': False,
'DomainMemberships': [],
'Endpoint': {'Address': 'things-dev.dj5fhdk2.us-west-2.rds.amazonaws.com',
'HostedZoneId': 'DKGH32DL4',
'Port': 1234},
非常感谢!
【问题讨论】:
-
您不能仅通过分析字符串来匹配域,因此没有正则表达式将匹配所有情况。你要么限制你的问题空间,要么使用公共后缀列表,或者使用实时 DNS 查询来找到委派削减。示例:
dk既是域又是主机名(它会解析),www.example.uk.com是域example.uk.com或uk.com,具体取决于您希望如何查看它等等。