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]+)\?
根据模式分隔符,您不必转义反斜杠
^https://twitter\.com/([a-zA-Z]+)\?
我的脚本 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]+)\?
根据模式分隔符,您不必转义反斜杠
^https://twitter\.com/([a-zA-Z]+)\?