LINUX.ORG.RU

регулярки и поиск по условию

 ,


1

1

Дано строка

123;345;567

Нужно выцепить отдельно первое значение, отдельно второе, отдельно третье

Пишу:

цифры от 0 до 9 три раза искать до первого «;» один раз.

(([0-9]{3})(?=;)){1}

В результате выделяет два значения.

Как выбрать второе и третье?

★★★★★

(?=;)

Это не регулярка, это нерегулярное расширение перла для регулярок. Ты не понимаешь то, что используешь. Без знания базы нет смысла тебе помогать.

anonymous ()
Ответ на: комментарий от crutch_master

Что хотел сказать? Если подойти полностью формально к опредлению регулярок, то выделение групп "(...)" - это уже не регулярка.

anonymous ()
Ответ на: комментарий от sniper21

Если в лоб править вашу регулярку, то так:

(([0-9]{3})(?=(;|$))){1}

Но задача странная, тут split нужен.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.