我正在制作一个机器人,如果用户名不是特定用户,我可以选择不发布。
Reddit用户名在两种情况下都可以包含字母,并且有数字。
哪个正则表达式可用于识别此类用户名?格式为/u/USERNAME
,其中用户名可以包含案例和数字的字母,例如ExaMp13
。
我试过了/u/[A-Z][a-z][0-9]
答案 0 :(得分:3)
Reddit用户名的有效字符前面有/u/
,包括:
这个正则表达式满足这些标准:
/u/[A-Za-z0-9_-]+
答案 1 :(得分:2)
感谢您使用您尝试过的内容更新帖子,因为这可以让我们了解您可能不理解的内容(并帮助我们解释您出错的地方以及如何解决)。
您的正则表达式不起作用,因为它检查[A-Z]
后跟[a-z]
,然后[0-9]
。所以你的正则表达式只匹配Be1
您应该尝试的是[a-zA-Z0-9]
或\w
并指定量词,例如+
(一个或多个)。
对于您的特定问题,您应该使用\/u\/(\w+)
(或/u/(\w+)
,因为python不关心转义)。这样,您就可以根据要未发布的用户列表检查第一个捕获组。
这些正则表达式将确保它匹配/u/
后跟任意字符[a-zA-Z0-9_]
在1和无限次之间。
查看工作示例here
答案 2 :(得分:2)
你可以使用这样的正则表达式:
/u/\w+