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

如何用正则提取Twitter链接中的用户名(URL参数可选)

提取Twitter链接用户名的正则解决方案

正确正则表达式

使用以下正则即可一次性匹配所有符合要求的Twitter链接,精准提取用户名:

twitter\.com\/([^?]+)

正则说明

  • twitter\.com\/:匹配固定域名部分,其中\.是正则中转义后的点(避免匹配任意字符)。
  • ([^?]+):捕获一个或多个非问号的字符,自动截止到第一个?(如果存在),完美避开URL参数部分。

代码示例(Python)

import re

link_list = [
    "https://twitter.com/test1",
    "http://twitter.com/test2",
    "https://www.twitter.com/test3?",
    "https://www.mobile.twitter.com/test4",
    "https://www.twitter.com/test5?lang=en",
    "https://www.instagram.com/test1insta"
]

for link in link_list:
    match_result = re.search(r'twitter\.com\/([^?]+)', link)
    if match_result:
        print(match_result.group(1))

运行后输出:

test1
test2
test3
test4
test5

之前正则的问题分析

  1. 正则r'twitter.com\/(.*)\?':
    要求链接必须包含?才能匹配,因此不带参数的链接无法被捕获,只能拿到test3和test5。
  2. 正则r'twitter.com\/(.*)\??':
    .*是贪婪匹配,会从twitter.com/后一直匹配到字符串末尾,即便存在?也会将参数部分一并包含,导致结果出现test3?、test5?lang=en这类错误内容。

结论

无需分情况处理,上述单个正则即可覆盖所有Twitter链接的用户名提取场景,同时自动过滤Instagram等非目标链接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:30:40