Tôi đã thử cái này trong nvi và nó không hoạt động. Trong vim nó hoạt động, duy nhất mà bạn phải khắc phục các dấu gạch ngang ngược cuối cùng trước khi g, đối với một dấu gạch ngang, như thế này:
1,$s/\(\d\)\(\d\d\d\)\(\d\d\)*\>/\3/g
và nó được thay thế bằng 89. Lý do là bạn đang nói với các * rằng \ d \ d cuối cùng có thể được lặp lại không, một hoặc nhiều lần, và với> bạn đang nói ranh giới từ kết thúc. Với nhóm 3 bạn đang nói rằng bạn muốn nhóm las, nhưng vì * các las hai chữ số (\ d \ d) là 89. Lấy ra *> bạn có thể nhận được 6789. Như thế này:
1,$s/\(\d\)\(\d\d\d\)\(\d\d\)/\3/g
Xem ra vì người đang chơi một phần khó khăn vì với điều này:: 1,$s/\(\d\)\(\d\d\d\)\(\d\d\)\>/\3
bạn nhận được 2389 LOL! Bởi vì từ cuối quan điểm từ-ranh giới dddddd là phù hợp với 456789 và nó được thay thế bằng hai dd cuối cùng, và đó là 89. Vì vậy, bạn nhận được 23 + 89 Tâm thổi!LOL
Lưu ý, nếu bạn chuyển đổi \ v, bạn có thể tránh tất cả các dấu gạch chéo ngược đó. 1, $ s/\ v (\ d) (\ d \ d \ d) (\ d \ d) *>/\ 3/g dễ đọc hơn nhiều. –
Bạn đang tìm kiếm một cái gì đó như thế này: 1, $ s/\ v^\ d {4} ((\ d {2}) *)/\ 1/ – AmirW