регулярное выражение, чтобы найти 4-ую запятую в конце строки - PullRequest
6 голосов
/ 08 февраля 2012

Мне нужно регулярное выражение, соответствующее четвертой запятой от конца строки, моя строка заканчивается запятой.

Например, я хотел бы выбрать запятую после G в строке ниже:

A,B,C,D,E,F,G,H,I,J,

Ответы [ 2 ]

6 голосов
/ 08 февраля 2012

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

,(?=(?:[^,]*,){3}[^,]*$)

Посмотрите, как он работает онлайн: Рубуляр

0 голосов
/ 05 ноября 2014

Вы можете использовать квантификатор, а затем вернуться назад:

Версия однострочного ввода (без перевода строки)

/.*\K,(?=(?:[^,]+,){3})/

Однострочная версия: (присутствуют новые строки)

/.*\K,(?=(?:[^,\n]+,){3})/

Многострочная версия:

/.*\K,(?=(?:[^,]+,){3})/s
...