Я попробовал этот в nvi, и он не работает. В vim это работает, только то, что вы должны исправить последний перевернутый тире перед g для тире, как это:
1,$s/\(\d\)\(\d\d\d\)\(\d\d\)*\>/\3/g
и заменяется 89.
Причина в том, что вы говорите с *, что последний \ d \ d может повторяться ноль, один или несколько раз, а с> вы говорите границу конечного слова.
С группой 3 вы говорите, что хотите группу las, но из-за * las две цифры (\ d \ d) равны 89.
Вынув *, вы можете получить 6789. Как это:
1,$s/\(\d\)\(\d\d\d\)\(\d\d\)/\3/g
Остерегайтесь> кто играет хитрую роль, потому что с этим:: 1,$s/\(\d\)\(\d\d\d\)\(\d\d\)\>/\3
Вы получите 2389 лол! Потому что с точки зрения границы слова dddddd соответствует 456789 и заменяется на два последних dd, а это 89. Таким образом, вы получите 23 + 89
Сногсшибательное! LOL