Как сопоставить строку до первой запятой (если она есть) с регулярным выражением Ruby

Я изо всех сил пытаюсь получить регулярное выражение (в Ruby), которое предоставит следующее

"one, two" -> "one"
"one, two, three" -> "one"
"one two three" -> "one two three"

Я хочу сопоставить любые символов до первой запятой в строке. Если нет запятых, я хочу, чтобы вся строка соответствовала. На данный момент мое лучшее усилие -

/.*(?=,)?/

Это дает следующий результат из приведенных выше примеров

"one, two" -> "one"
"one, two, three" -> "one, two"
"one two three" -> "one two three"

Закрыть, но нет сигары. Может ли кто-нибудь помочь?

7
задан brad 27 October 2010 в 00:41
поделиться