Мне нужно регулярное выражение, которое может извлечь любую группу из двух цифр, окруженных одинаковыми не алфавитными символами, например, извлечь "02" из строки "my_file_name-02-and_some"
Насколько я понял:
echo 'my_file_name-02-and_some' | sed 's/.*[-_]\([0-9][0-9]*\)[-_].*/\1/g'
производит
02
(фу, два часа + за этот результат), но
echo 'my_file_name-002-and_some' | sed 's/.*[-_]\([0-9][0-9]*\)[-_].*/\1/g'
производит
002
так что это на самом деле не работает :(. Также мне бы хотелось, чтобы оно совпадало с "my_file_name (02) and_some" и другими возможными окружающими персонажами, идея в том, что эти два окружающих символа должны быть то же самое ..? Черт возьми, у меня болит голова.
Боюсь, что с учетом контекста, у этого было в качестве регулярного выражения sed.