Ich habe dieses in nvi versucht und es funktioniert nicht. In Vim funktioniert es, nur dass Sie die endgültige invertierte Strich vor dem g korrigieren müssen, für einen Bindestrich, wie folgt aus:
1,$s/\(\d\)\(\d\d\d\)\(\d\d\)*\>/\3/g
und es wird mit 89. Der Grund ersetzt ist, dass Sie sagen, mit das * dass das letzte \ d \ d null, einmal oder mehrmals wiederholt werden kann, und mit> du sagst Endwortgrenze. Mit der Gruppe 3 Sie sagen, dass Sie die Las Gruppe wollen, aber wegen der * die zwei Ziffern (\ d \ d) sind 89. Herausnehmen der *> Sie können 6789 erhalten. So:
1,$s/\(\d\)\(\d\d\d\)\(\d\d\)/\3/g
Achten Sie auf die> heraus, wer da mit diesem einem schwierigen Teil spielt: 1,$s/\(\d\)\(\d\d\d\)\(\d\d\)\>/\3
Sie bekommen 2389 LOL! Weil vom Ende der Wortgrenzenperspektive dddddd mit 456789 übereinstimmt und es durch die letzten zwei dd ersetzt wird, und das ist 89. So bekommst du 23 + 89 Mind weht!LOL
Hinweis, wenn Sie uns die \ V-Option wechseln, können Sie alle diese Backslashed Parens vermeiden. 1, $ s/\ v (\ d) (\ d \ d \ d) (\ d \ d) *>/\ 3/g ist viel einfacher zu lesen. –
Suchen Sie in etwa so: 1, $ s/\ v^\ d {4} ((\ d {2}) *)/\ 1/ – AmirW