Совпадение длинной группы символов до нескольких последовательных пробелов в регулярных выражениях ruby - PullRequest
0 голосов
/ 15 октября 2019

Я искал высоко и низко и пробовал миллион комбинаций на рубларе, но до сих пор не могу заставить это работать. Заранее извиняюсь.

У меня есть строка

ICE - Oct '19 v'19 I                      Bid            Offer        

Любое, что я хочу написать регулярное выражение, чтобы сгруппировать это в куски текста, где кусок может иметь любую комбинацию символов [\w\d-']и любое количество пробелов, если они не являются последовательными. Я хочу, чтобы группировка прекратилась, как только появилось более одного пробела.

Результат будет

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

Другой вариант - сказать, что я хочучтобы захватить все, но начать новую группировку, как только появятся два последовательных пробела.

Таким образом, здесь вывод будет ["ICE - Oct '19 v'19 I", " Bid", " Offer"]

, и тогда я смогу оговорить, что эти Решения, использующие разделение, противоположнысоответствие будет работать.

Сейчас я пытаюсь что-то вроде ^[\s*\w\-\']+, что не работает, потому что я не знаю, как указать, что все, кроме пробела, может быть +но этот пробел приемлем, но только один.

Спасибо

1 Ответ

3 голосов
/ 15 октября 2019

Разделить строку, где разделителем разделения должен быть шаблон, соответствующий 2 или более пробелам:

> "ICE - Oct '19 v'19 I                      Bid            Offer".split(/\s{2,}/)
=> ["ICE - Oct '19 v'19 I", "Bid", "Offer"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...