Regex来识别Reddit用户名

2024-06-28 20:23:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个机器人,如果用户名不是某个用户,则可以选择不发布。在

Reddit用户名在这两种情况下都可以包含字母,并且有数字。在

哪个正则表达式可以用来标识这样的用户名?格式是/u/USERNAME,其中username可以有大小写和数字的字母,例如ExaMp13。在

我试过/u/[A-Z][a-z][0-9]


Tags: 用户格式字母username情况机器人数字标识
3条回答

您可以使用如下正则表达式:

/u/\w+

Reddit用户名的有效字符以/u/开头,包括:

  • 大写
  • 小写
  • 数字
  • 下划线
  • 连字符

此正则表达式满足以下条件:

/u/[A-Za-z0-9_-]+

简介

感谢你用你尝试过的东西更新你的帖子,因为这让我们了解了你可能不理解的地方(并帮助我们解释你哪里出了问题,以及如何解决)。在

正则表达式不起作用,因为它检查[A-Z],然后是[a-z],然后是{}。所以你的正则表达式只匹配Be1

回答

您应该尝试的是[a-zA-Z0-9]\w,并指定一个量词,如+(一个或多个)。在

对于您的特定问题,应该使用\/u\/(\w+)(或者{},因为python不关心转义)。首先,你不想让这个群的人来检查你。在

这些正则表达式将确保它匹配/u/,后跟任何单词字符[a-zA-Z0-9_],在1到无限次之间。在

请参阅工作示例here

相关问题 更多 >