Skip to main content
 首页 » 编程设计

python之使用正则表达式匹配@user

2025年05月04日23zlslch

如何匹配以 @ 开头并以 ;、.、: 或结尾的单词 ?

单词可以包含任何字母数字字符,并且可以包含下划线。

我想出了 ^@([a-zA-Z0-9_])*[:;, ]$ 这似乎只对单个单词句子有效。

请您参考如下方法:

只需删除 anchor ^ 和 $ 即可。

如果您不想匹配 "Example @nothing" 中的空字符串,您可能需要指定 "1 or more qualifier"+ 而不是 *。即 @([a-zA-Z0-9_]+)[:;, ]

可以通过将 * 替换为 {1,15} 来限制 1-15 个字符的用户名,即 @([a-zA-Z0- 9_]{1,15})[:;, ].

如果你想得到 @ 符号加上结尾字符作为结果,@[a-zA-Z0-9_]{1,15}[:;, ] 就足够了。

如果只想捕获名称,可以使用此 @([a-zA-Z0-9_]{1,15})[:;, ]

如果 token 正好在字符串的末尾并且没有特殊字符,并且您想捕获它,您可能需要将 [:;, ] 修改为 ( ?:[:;, ]|$)