正则表达式以匹配以“ @”字符开头的用户名

凯蒂·H

我正在尝试编写一种方法,该方法采用通过以下格式的表单输入的字符串:

string = "@user1, @user2, @user3"

并返回类似的数组['user1', 'user2', 'user3']

这是我到目前为止所拥有的:

usernames = "@user1, @user2"

temp_recipient_usernames = usernames.split(',')
recipient_usernames = temp_recipient_usernames.each do |u|
  u.gsub /@(\w+)/ do |username|
    @final_usernames = username.gsub('@', '')
  end
end

p @final_usernames

这只会返回字符串"user2"我该如何工作?

toro2k

您正在重新发明轮子,这里的String#scan方法正是出于您的目的:

usernames = "@user1, @user2"
usernames.scan(/(?<=@)\w+/)
# => ["user1", "user2"]

更新:鉴于usernames字符串始终具有您描述的确切格式,即它仅包含-@前缀使用名,逗号和空格;可以将regexp简化一些:

usernames.scan(/\w+/)
# => ["user1", "user2"]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式匹配字符

来自分类Dev

正则表达式仅在用户名中不匹配时才匹配“ _”字符

来自分类Dev

正则表达式查找以@ php开头的用户名

来自分类Dev

正则表达式匹配以空格字符开头的行

来自分类Dev

正则表达式匹配字符串以@ 开头

来自分类Dev

Javascript正则表达式与Twitter用户名匹配,但排除冒号

来自分类Dev

正则表达式以匹配没有连续空格的用户名

来自分类Dev

为什么我的正则表达式与“用户名”约束不匹配

来自分类Dev

正则表达式以匹配模式域\用户名

来自分类Dev

Javascript正则表达式与Twitter用户名匹配,但排除冒号

来自分类Dev

正则表达式的用户名?

来自分类Dev

复杂用户名的正则表达式

来自分类Dev

用户名的正则表达式

来自分类Dev

用户名密码正则表达式

来自分类Dev

正则表达式的用户名?

来自分类Dev

复杂用户名的正则表达式

来自分类Dev

验证用户名的正则表达式,例如

来自分类Dev

用户名密码正则表达式

来自分类Dev

查找用户名的正则表达式

来自分类Dev

用户名的正则表达式

来自分类Dev

验证用户名-最佳正则表达式

来自分类Dev

正则表达式匹配任何字符或不匹配?

来自分类Dev

字符串正则表达式用户名或电子邮件挂起

来自分类Dev

字符串正则表达式用户名或电子邮件挂起

来自分类Dev

使用正则表达式从字符串中获取grub用户名

来自分类Dev

正则表达式模式-匹配以@开头的单词

来自分类Dev

正则表达式匹配以“ $”开头的单词

来自分类Dev

正则表达式-如果模式以\开头,则不匹配

来自分类Dev

如何用正则表达式匹配以$开头的变量?