我试图从rails中的帖子中提取用户名。我认为最好的方法是使用正则表达式并从@拉到下一个空白字符,这将给我用户名。
例如在字符串中:
'@stackoverflow is good for help'
我可以从@拉到下一个空格字符,给我字符串'stackoverflow'
我的正则表达能力有点缺乏,所以任何帮助都会受到赞赏。
感谢。
答案 0 :(得分:2)
您可以使用\S
匹配任何非空白字符,例如:
(?<=@)\S*
将匹配在@
字符后立即出现的零个或多个非空格字符的任何序列。 (?<=…)
会创建一个lookbehind断言,因此@
不会包含在匹配中。
或者,您可以使用:
@(\S*)
这将匹配@
,然后是第1组中捕获的零个或多个非空白字符。
答案 1 :(得分:1)
这个怎么样:
regex = /@(\S*)/
\S
匹配所有非空格字符。