2012-02-08 4 views
5

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

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

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

ответ

5

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

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

Посмотреть его работы в Интернете: Rubular

0

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

Si вход ngle-лайн версия (Нет перевод строки)

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

однострочного соответствие версия: (Newlines присутствует)

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

Многоканального соответствие версия:

/.*\K,(?=(?:[^,]+,){3})/s 
Смежные вопросы