You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从含特殊字符的字符串中提取域名?求正则或解决方案

解决方案

正则表达式方案

可以使用以下正则表达式捕获目标域名:

^(.+?)(?=-)
  • 规则说明:
    • ^ 匹配字符串的起始位置
    • (.+?) 以非贪婪模式匹配任意字符,将这部分作为捕获组(即你要的域名)
    • (?=-) 正向预查,确保匹配的内容后面紧跟一个连字符-,但不会把连字符包含到结果中

针对你的输入字符串,匹配结果完全符合预期:

输入:abc.pri-from-somestring → 捕获结果:abc.pri
输入:abc-de.pri-idx-somestring → 捕获结果:abc-de.pri
输入:abc.org.au-sop-somestring → 捕获结果:abc.org.au

字符串分割方案

如果不想使用正则,也可以通过字符串分割直接提取:
以Python为例,代码如下:

input_strings = [
    "abc.pri-from-somestring",
    "abc-de.pri-idx-somestring",
    "abc.org.au-sop-somestring"
]

for s in input_strings:
    # 按第一个连字符分割,取第一部分
    domain = s.split('-', 1)[0]
    print(domain)

运行后输出:

abc.pri
abc-de.pri
abc.org.au
  • 规则说明:split('-', 1) 表示仅按第一个-分割字符串,返回的列表第一个元素就是目标域名,能完美适配你的场景。

内容的提问来源于stack exchange,提问作者Assaf Schwartz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 01:40:22