Tulis ekspresi reguler yang cocok dengan string yang diberikan yang terdiri dari tiga bilangan bulat tidak-negatif, jika dan hanya jika bilangan bulat terakhir adalah jumlah dari dua bilangan sebelumnya. Jawaban mungkin untuk bilangan bulat dari sistem angka apa pun dengan radix antara 2 dan 10.
Uji kasus
Ini harus gagal:
0 1 2
10 20 1000
Ini harus cocok:
10 20 30
28657 46368 75025
0 0 0
Aturan
Jawaban Anda harus terdiri dari satu regex, tanpa kode tambahan (kecuali, secara opsional, daftar pengubah regex yang diperlukan untuk membuat solusi Anda berfungsi). Anda tidak boleh menggunakan fitur-fitur dari rasa regex bahasa Anda yang memungkinkan Anda untuk memanggil kode dalam bahasa hosting (mis. Pengubah e Perl).
Silakan tentukan rasa regex Anda dalam jawaban Anda.
Ini adalah golf regex, jadi regex terpendek yang menang. Jika bahasa Anda membutuhkan pembatas (biasanya / .../) untuk menunjukkan ekspresi reguler, jangan hitung pembatas itu sendiri. Jika solusi Anda memerlukan pengubah, tambahkan satu byte per pengubah.
Penghargaan untuk Martin Ender dan jaytea untuk peraturan golf regex.
Saya punya alasan untuk percaya itu mungkin berdasarkan solusi dari Martin Ender untuk menemukan dan menambah bilangan bulat dengan regex .
/e
Pengubah Perl 5 hanya berlaku untuk substitusi, dan bukan satu-satunya cara untuk menjalankan kode eksternal. Juga ini mendiskualifikasi Perl 6 sepenuhnya sebagai sebuah regex hanya sebuah metode dengan sintaks tambahan. (Alasannya adalah itu membuat regex lebih mudah untuk membaca dan menulis) Akibatnya semua fitur yang diperlukan dalam regex kuno tidak diperlukan (atau termasuk) karena Anda baru saja memasukkan kode Perl 6. (artinya mungkin tidak mungkin untuk melakukan tantangan ini jika Anda hanya membatasi untuk regex kode tertentu) /^(\d+)**3%' '$ <?{$0[2]==[+] $0[0,1]}>/
atau /^(\d+)' '(\d+)' '(\d+)$ <?{$2==$0+$1}>/
atau/^(\d+)' '(\d+){}" {$0+$1}"$/