是否有比使用正则表达式更快的解析主题标签的方法?

Omi*_*gar 3 ruby regex ruby-on-rails hashtag

我很好奇,除了使用正则表达式(主要是在Ruby中)之外,是否有更快/更好的方法来解析字符串中的主题标签?

编辑
例如我想解析字符串This is a #hashtag, and this is #another one!并获取单词#hashtag#another.我正在使用#\S+我的正则表达式.

the*_*Man 6

你没有显示任何代码(你应该有),所以我们猜测你是如何使用正则表达式的.

#\S+与你需要的模式一样好,但scan它可能是检索字符串中所有出现的最佳方法.

'This is a #hashtag, and this is #another one!'.scan(/#\S+/)
=> ["#hashtag,", "#another"]
Run Code Online (Sandbox Code Playgroud)

它应该是/\B#\ w + /,如果你不想解析逗号

是的我同意./\B#\w+/更有意义.

  • 那个正则表达式是不正确的.如果我要使用字符串:http://google.com#tag,它会删除#tag,而这实际上并不是哈希标记.正则表达式应该是:\ B#\ S + (2认同)