用于识别 Reddit 用户名的正则表达式
Regex to identify Reddit usernames
我正在制作一个机器人,如果用户名不是某个用户,则可以选择不 post。
Reddit 用户名在这两种情况下都可以包含字母,也可以包含数字。
哪个正则表达式可以用来识别这样的用户名?格式为/u/USERNAME
,其中用户名可以是大小写字母和数字,如ExaMp13
。
我试过了/u/[A-Z][a-z][0-9]
Reddit 用户名的有效字符前面有 /u/
,包括:
- 大写
- 小写
- 位数
- 下划线
- 连字符
此正则表达式符合以下条件:
/u/[A-Za-z0-9_-]+
简介
感谢您使用您尝试过的内容更新您的 post,因为这让我们了解您可能不理解的地方(并帮助我们解释您哪里出错了以及如何解决)。
您的正则表达式不起作用,因为它先检查 [A-Z]
,然后检查 [a-z]
,然后检查 [0-9]
。所以你的正则表达式只会匹配 Be1
回答
您应该改为尝试 [a-zA-Z0-9]
或 \w
并指定量词,例如 +
(一个或多个)。
对于您的特定问题,您应该使用 \/u\/(\w+)
(或 /u/(\w+)
,因为 python 不关心转义)。这将允许您根据您想要 而不是 post 的用户列表检查第一个捕获组。
这些正则表达式将确保它匹配 /u/
后跟任何单词字符 [a-zA-Z0-9_]
1 到无限次。
查看工作示例here
您可以像这样使用正则表达式:
/u/\w+
我正在制作一个机器人,如果用户名不是某个用户,则可以选择不 post。
Reddit 用户名在这两种情况下都可以包含字母,也可以包含数字。
哪个正则表达式可以用来识别这样的用户名?格式为/u/USERNAME
,其中用户名可以是大小写字母和数字,如ExaMp13
。
我试过了/u/[A-Z][a-z][0-9]
Reddit 用户名的有效字符前面有 /u/
,包括:
- 大写
- 小写
- 位数
- 下划线
- 连字符
此正则表达式符合以下条件:
/u/[A-Za-z0-9_-]+
简介
感谢您使用您尝试过的内容更新您的 post,因为这让我们了解您可能不理解的地方(并帮助我们解释您哪里出错了以及如何解决)。
您的正则表达式不起作用,因为它先检查 [A-Z]
,然后检查 [a-z]
,然后检查 [0-9]
。所以你的正则表达式只会匹配 Be1
回答
您应该改为尝试 [a-zA-Z0-9]
或 \w
并指定量词,例如 +
(一个或多个)。
对于您的特定问题,您应该使用 \/u\/(\w+)
(或 /u/(\w+)
,因为 python 不关心转义)。这将允许您根据您想要 而不是 post 的用户列表检查第一个捕获组。
这些正则表达式将确保它匹配 /u/
后跟任何单词字符 [a-zA-Z0-9_]
1 到无限次。
查看工作示例here
您可以像这样使用正则表达式:
/u/\w+