регулярное выражение для grep всех чисел после второго-последнего подчеркивания - PullRequest
1 голос
/ 04 февраля 2011

Я хочу получить все символы после второго последнего подчеркивания в строке, любые идеи, как это можно сделать

Input                             Output
PART1_PART2_PART3_G2010           PART3_G2010

любая идея, как должно выглядеть регулярное выражение

Ответы [ 3 ]

6 голосов
/ 04 февраля 2011
.*_([^_]*_[^_]*)$

Не привязан к определенному общему количеству частей между подчеркиванием, как регулярное выражение Андреа Спадаччини.

4 голосов
/ 04 февраля 2011

Ответ Андреа Спадаччини работает, если вы знаете, что на входе есть три подчеркивания. Если вопрос имел в виду более общий смысл, обращаясь ко всему после второго подчеркивания, независимо от того, сколько подчеркиваний было до этого, регулярное выражение должно искать с конца ($) следующим образом:

 _([^_]*_[^_]*)$
1 голос
/ 04 февраля 2011

Первые N не подчеркивания, чем подчеркивание. Повторение. Сгруппируйте последние символы.

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