IMStrelcov
CTPEJIbLLOB
- Сообщения
- 258
- Репутация
- 66
Суть такая, например есть строка 176djf764646ryry yfy 66464 46 yryyr, нужно из нее получить группу подряд идущих или цифр или не цифр, минуя при этом указанное кол-во таких групп.
Т.е. например мне нужно получить 4-ю группу пропустив 3-и первые, это будет:
1 группа. 176
2 группа. djf
3 группа. 764646
4 группа. ryry yfy
5 группа. 66464
6 группа.
7 группа. 46
8 группа. yryyr
Результат: ryry yfy
Как бы выражение выше выдает мне тот результат что нужно, но если я указываю например 9-ю группу, а ее в строке нет, то выражение вместо пустой строки возвращает мне последний символ последней существующей группы.
Через StringRegExp('176djf764646ryry yfy 66464 46 yryyr', '([0-9]+|[^0-9]+)', 3) все работает, но не хочу массивы, хотелось бы через StringRegExpReplace.
Подскажите как данную проблемку решить, чего не хватает в выражении, чтобы при отсутствии группы выводило пустую строку, а не последний символ.
Т.е. например мне нужно получить 4-ю группу пропустив 3-и первые, это будет:
1 группа. 176
2 группа. djf
3 группа. 764646
4 группа. ryry yfy
5 группа. 66464
6 группа.
7 группа. 46
8 группа. yryyr
Результат: ryry yfy
Код:
StringRegExpReplace('176djf764646ryry yfy 66464 46 yryyr', '([0-9]+|[^0-9]+){4}.*', '$1')
Как бы выражение выше выдает мне тот результат что нужно, но если я указываю например 9-ю группу, а ее в строке нет, то выражение вместо пустой строки возвращает мне последний символ последней существующей группы.
Через StringRegExp('176djf764646ryry yfy 66464 46 yryyr', '([0-9]+|[^0-9]+)', 3) все работает, но не хочу массивы, хотелось бы через StringRegExpReplace.
Подскажите как данную проблемку решить, чего не хватает в выражении, чтобы при отсутствии группы выводило пустую строку, а не последний символ.
Последнее редактирование: