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

如何用正则表达式提取Facebook链接中的用户名或ID?

解决方案

你需要调整正则表达式,同时覆盖直接用户名和profile.php参数ID两种格式:

最终正则模式

facebook\.com/(?:([a-zA-Z0-9_\.]+)\?|profile\.php\?id=([0-9]+)(?:&|$))

正则说明

  • (?:...):非捕获组,用于分组逻辑但不生成额外捕获结果
  • 第一个分支([a-zA-Z0-9_\.]+)\?:匹配facebook.com/后直接跟的用户名(允许字母、数字、下划线、点),直到遇到?停止
  • 第二个分支profile\.php\?id=([0-9]+)(?:&|$):匹配profile.php?id=后的纯数字ID,直到遇到&或字符串结尾停止

使用方式

提取结果时,取两个捕获组中非空的那个值即可。针对你的测试用例:

  • facebook.com/user.1?eav=AfZbZ7Edw → 捕获组1得到user.1
  • facebook.com/user2?eav=AfZbZ7Edw → 捕获组1得到user2
  • facebook.com/profile.php?id=123456789&eav=AfbDMOIcUI0Q3Vj → 捕获组2得到123456789

如果你的正则工具支持,也可以用更简洁的分支合并写法:

facebook\.com/(?:([\w.]+)\?|profile\.php\?id=(\d+)(?:&|$))

这里\w等价于[a-zA-Z0-9_],\d等价于[0-9],效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:12:36