Viết biểu thức chính quy khớp với một chuỗi đã cho gồm ba số nguyên không âm, được phân tách bằng dấu cách nếu và chỉ khi số nguyên cuối cùng là tổng của hai số trước. Câu trả lời có thể dành cho số nguyên của bất kỳ hệ số nào có cơ số từ 2 đến 10.
Các trường hợp thử nghiệm
Những điều này sẽ thất bại:
0 1 2
10 20 1000
Những cái này phải phù hợp:
10 20 30
28657 46368 75025
0 0 0
Quy tắc
Câu trả lời của bạn nên bao gồm một regex duy nhất, không có bất kỳ mã bổ sung nào (ngoại trừ, tùy chọn, một danh sách các sửa đổi regex cần thiết để làm cho giải pháp của bạn hoạt động). Bạn không được sử dụng các tính năng của hương vị regex của ngôn ngữ cho phép bạn gọi mã bằng ngôn ngữ lưu trữ (ví dụ: công cụ sửa đổi điện tử của Perl).
Vui lòng xác định hương vị regex của bạn trong câu trả lời của bạn.
Đây là regex golf, vì vậy regex ngắn nhất tính bằng byte thắng. Nếu ngôn ngữ của bạn yêu cầu các dấu phân cách (thường là /.../) để biểu thị các biểu thức chính quy, đừng tự đếm các dấu phân cách. Nếu giải pháp của bạn yêu cầu sửa đổi, hãy thêm một byte cho mỗi sửa đổi.
Tín dụng cho Martin Ender và jaytea cho các quy tắc chơi golf regex.
Tôi có lý do để tin rằng có thể dựa trên giải pháp của Martin Ender để tìm và tăng số nguyên với regex .
/e
sửa đổi của Perl 5 chỉ áp dụng cho các thay thế và không phải là cách duy nhất để chạy mã bên ngoài. Ngoài ra, điều này không đủ tiêu chuẩn Perl 6 vì regex chỉ là một phương thức với cú pháp bổ sung. (Lý do là nó làm cho regexes dễ đọc và viết hơn) Kết quả là tất cả các tính năng cần thiết trong regex cổ xưa không cần (hoặc bao gồm) khi bạn chỉ cần nhập mã Perl 6. (có nghĩa là nó có lẽ là không thể làm được thách thức này nếu bạn chỉ cần hạn chế để mã cụ thể regex) /^(\d+)**3%' '$ <?{$0[2]==[+] $0[0,1]}>/
hoặc /^(\d+)' '(\d+)' '(\d+)$ <?{$2==$0+$1}>/
hoặc/^(\d+)' '(\d+){}" {$0+$1}"$/