Twitter 正则表达式提取用户

Twitter Regex to extract user

我的脚本 returns 推特用户名格式为:https://twitter.com/fegtoken?s=09

我试过这个正则表达式,它让我很接近,但 s=09 仍然存在。 [^https:\/\/twitter\.com\/]([a-zA-Z])+(\?)。有什么建议吗?

我希望正则表达式只提取用户名 fegtoken

如有任何帮助,我们将不胜感激。泰!

基于 twitter help center 的用户名限制,您可以使用它来获取用户名:(?<=https:\/\/twitter\.com\/)\w{1,15}

参见正则表达式 Demo

关于您尝试的模式的几点注意事项:

  • 在这部分 ([a-zA-Z])+ 你应该像 ([a-zA-Z]+) 一样在捕获组中重复字符 class 本身,否则重复捕获组本身将 return 的值最后一次迭代,是一个 n char
  • 这部分[^https:\/\/twitter\.com\/]表示一个字符class,你应该省略外面的方括号
  • 请注意,这部分 (\?) 捕获了问号,因此只有存在才会匹配

如果问号应该出现,你可以匹配它(或者如果不应该出现,则省略问号)

该值在捕获组 1 中。

^https:\/\/twitter\.com\/([a-zA-Z]+)\?

Regex demo

根据模式分隔符,您不必转义反斜杠

^https://twitter\.com/([a-zA-Z]+)\?