匹配一长串字符,直到多个连续的空格 ruby 正则表达式

Match long group of characters until multiple consecutive whitespaces ruby regex

我到处搜索并在 rubular 上尝试了一百万次组合,但仍然无法正常工作。提前致歉。

我有字符串

ICE - Oct '19 v'19 I                      Bid            Offer        

Any 我想写一个正则表达式将其分组为文本块,其中一个块可以包含字符 [\w\d-'] 和任意数量的白色 space 的任意组合,只要它们是不连续。我希望一旦有一个以上的白色 space.

就终止分组

输出将是

["ICE - Oct '19 v'19 I", "Bid", "Offer"]

还有一个方案就是说我想把所有的都抓起来,但是一有两个连续的白space就开始新的分组

所以这里的输出是 ["ICE - Oct '19 v'19 I", " Bid", " Offer"]

然后我可以停止这个 使用拆分而不是匹配的解决方案将起作用。

现在我正在尝试一些类似的东西 ^[\s*\w\-\']+ 这是行不通的,因为我不知道如何指定除了白色 space 之外的所有内容都可以是 + 但是白色 space 是可以接受的,但只有一个一.

谢谢

拆分字符串,其中拆分定界符应为匹配 2 个或更多空格的模式:

> "ICE - Oct '19 v'19 I                      Bid            Offer".split(/\s{2,}/)
=> ["ICE - Oct '19 v'19 I", "Bid", "Offer"]