正则表达式从字符到空白

时间:2014-03-25 08:55:52

标签: ruby-on-rails regex

我试图从rails中的帖子中提取用户名。我认为最好的方法是使用正则表达式并从@拉到下一个空白字符,这将给我用户名。

例如在字符串中:

'@stackoverflow is good for help'

我可以从@拉到下一个空格字符,给我字符串'stackoverflow'

我的正则表达能力有点缺乏,所以任何帮助都会受到赞赏。

感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用\S匹配任何非空白字符,例如:

(?<=@)\S*

将匹配在@字符后立即出现的零个或多个非空格字符的任何序列。 (?<=…)会创建一个lookbehind断言,因此@不会包含在匹配中。

Demonstration

或者,您可以使用:

@(\S*)

这将匹配@,然后是第1组中捕获的零个或多个非空白字符。

Demonstration

答案 1 :(得分:1)

这个怎么样:

regex = /@(\S*)/

\S匹配所有非空格字符。