ruby-on-rails - 如何使用正则表达式获取用户?

标签 ruby-on-rails ruby regex ruby-on-rails-3

例如,用户输入 @John_Smith hi, what's up!? 我想给John_Smith的对象打电话,通知他让他注意。
我该如何存档?

username = @comment ??????(I have no idea how to code it here)
@user = User.find_by_username(username)
current_user.send_message(@user, body, subject)

判断方式为@username(一个空格)

最佳答案

username = @comment.scan(/(?<=^@)\w+(?=[\s|~])/).first

控制台测试:

2.0.0-p195 :001 > s = "@John_Smith~hi"
 => "@John_Smith~hi"
2.0.0-p195 :002 > s.scan(/(?<=^@)\w+(?=[\s|_])/).first
 => "John_Smith"

编辑:现在接受 ~ 或空格作为分隔符。

关于ruby-on-rails - 如何使用正则表达式获取用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17129584/

相关文章:

java - : I have a requirement of matching the value request parameter with unicode charcters but it should not allow space 的正则表达式

.net - BDD测试框架

ruby-on-rails - Rails 如何使 Assets 过期?

ruby-on-rails - 允许用户从我的 S3 存储桶下载图像

ruby-on-rails - stylesheet_link_tag 未链接到 Rails Assets 管道中的/asset

ruby-on-rails - 在 heroku 上运行和配置 rhoconnect 作为实例

mysql - ruby:与mysql的连接在单个查询后关闭

javascript - url 的正则表达式一些问题

c#格式化字符串,数字前面的字母大写,数字后面的字母小写

javascript - 如何使用 ember-rest Controller 来处理 Rails3 嵌套资源?