Có một tập tin dummy.txtLàm cách nào để thay thế bằng biểu thức được đánh giá trong Perl?
Nội dung bao gồm:
9/0/2010
9/2/2010
10/11/2010
tôi phải thay đổi phần tháng (0,2,11) +1, tức là (1,3,12) tôi đã viết regex thay như sau
$line =~ s/\/(\d+)\//\/\1+1\//;
Nó được in
9/0+1/2010
9/2+1/2010
10/11+1/2010
Làm thế nào để làm cho nó thêm - 3
số hơn so với thực hiện chuỗi concat? ??
tuyệt vời !, nó hoạt động - nếu bạn không phiền, bạn có thể giải thích cú pháp {} - ý tôi là có thể đạt được nó với s/chứ không phải là s { – Sekhar
@OP: Tôi đã cập nhật câu trả lời của mình. 's ///' tương đương với 's {} {}', chỉ là nó sử dụng một dấu tách khác nhau và sẽ giúp bạn tránh được việc thoát khỏi '/' đó. – codaddict
Mặc dù không bắt buộc, sử dụng công cụ sửa đổi 'x' để biểu thức chính quy của bạn giúp tăng khả năng đọc của chúng: s {/ (\ d +) /} {'/'. (1 đô la + 1).'/'} egx –