Использование Regex в качестве разделителя для разделения строки - PullRequest
2 голосов
/ 12 апреля 2011

Я хочу разбить следующие строки на две подстроки."somestring (otherstring)"

Я пришел со следующим разделением регулярных выражений

"somestring(otherstring)".split(/(.+)\((.+)\)/)

, но это исключает следующие строки, у которых нет подстроки в фигурных скобках .. "somestring"

как можно изменить регулярное выражение так, чтобы, даже если нет подстроки шаблона "(otherstring)", она все равно генерировала первую подстроку в качестве вывода.

Заранее большое спасибо!

Ответы [ 2 ]

8 голосов
/ 12 апреля 2011
>> "somestring(otherstring)".split(/[()]/)
=> ["somestring", "otherstring"]
>> "somestring".split(/[()]/)
=> ["somestring"]
1 голос
/ 12 апреля 2011

Попробуйте использовать что-то вроде этого в качестве регулярного выражения: /([^\(\)]+)(?:\((.+)\))?/.

...