Yalnızca son tamsayı önceki iki toplamıysa, boşluk içermeyen üç negatif tamsayıdan oluşan belirli bir dize ile eşleşen düzenli bir ifade yazın. Cevaplar, 2 ila 10 arasında radix olan herhangi bir sayı sisteminin tamsayıları olabilir.
Test durumları
Bunlar başarısız olmalı:
0 1 2
10 20 1000
Bunlar eşleşmelidir:
10 20 30
28657 46368 75025
0 0 0
kurallar
Cevabınız, ek bir kod olmadan tek bir regex'ten oluşmalıdır (isteğe bağlı olarak, çözümünüzü çalışması için gereken regex değiştiricilerin bir listesi hariç). Dilinizin regex lezzetinin barındırma dilinde kod çağırmanıza izin veren özelliklerini kullanmamalısınız (örn. Perl e değiştirici).
Lütfen cevabınızdaki regex lezzetinizi belirtin.
Bu regex golf, yani bayt cinsinden en kısa regex kazanıyor. Diliniz düzenli ifadeleri belirtmek için sınırlayıcılar gerektiriyorsa (genellikle /.../), sınırlayıcıları kendileri saymayın. Çözümünüz değiştiriciler gerektiriyorsa, değiştirici başına bir bayt ekleyin.
Regex-golf kuralları için Martin Ender ve jaytea'ya teşekkür ederiz.
Martin Ender'in regex ile tamsayı bulma ve artırma çözümüne dayanmasının mümkün olduğuna inanmam için sebeplerim var .
/e
değiştiricisi yalnızca değiştirmeler için geçerlidir ve harici kodu çalıştırmanın tek yolu değildir. Ayrıca, Perl 6'yı tamamen diskalifiye eder, çünkü regex, ek sözdizimi olan sadece bir yöntemdir. (Bunun nedeni, regex'lerin okunmasını ve yazılmasını kolaylaştırmasıdır) Sonuç olarak, arkaik regex'lerde ihtiyaç duyulan tüm özelliklere ihtiyaç duyulmaz (veya dahil), sadece Perl 6 koduna girdiğiniz gibi. (yani, yalnızca belirli bir kodu düzenlemek için sınırlandırırsanız, bu zorluğun üstesinden gelemeyeceğiniz anlamına gelir) /^(\d+)**3%' '$ <?{$0[2]==[+] $0[0,1]}>/
veya /^(\d+)' '(\d+)' '(\d+)$ <?{$2==$0+$1}>/
veya/^(\d+)' '(\d+){}" {$0+$1}"$/