Помогите с захватом с помощью регулярного выражения - PullRequest
1 голос
/ 12 сентября 2010

У меня есть этот список:

foo chef.rb baz
bar cucumber.rb bar
baz gem.rb foo

Я хочу захватить все имена без .rb.

Мое текущее регулярное выражение выглядит так:

/([^\s](?:.)*?.(?:rb))/i

Но он также захватывает .rb.

Как мне захватить только базовое имя?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 12 сентября 2010

Вместо этого используйте это регулярное выражение:

/(\w*?)\.rb\s*.*/i

И ваше базовое имя будет в 1-й группе захвата.

Смотрите его на Рубуляр .

0 голосов
/ 12 сентября 2010

Это немного проще: /(\S+).rb(?:$|\s)/

Любые непробельные символы с последующим .rb, за которым следует конец строки или пробел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...