我正在学习 Ruby 1.9.3 中的正则表达式。
你能告诉我为什么吗
/\b[^\b]*\b/.match(" hello world ") matched => #<MatchData "hello world">
不[^\b]工作?应该不会跨越一个字吧??
你想要的是/\b\w*\b/(\w=字母数字字符)。\b不表示实际字符,而是向字符添加单词边界条件。
[…]表示一个字符集。由于\b是标志而不是字符,因此您不能将它们放入字符集中。
顺便说一句,要匹配单词,您实际上不需要任何\bs。一个简单的/\w+/就可以了。
有关正确使用\b.