yalnızca dize .jpg
veya .png
ile bitmez veriyorsan, bunu kullanabilirsiniz tüm dizeyi tüketmek için regex zorlamak gerekebilir. Muhtemelen Python'un regex lezzet en biridir çünkü işe yaramaz, hangi (?<!\.jpg|\.png)
kullanmaya çalıştı
^\w+(?:\.\w+)+$(?<!\.jpg)(?<!\.png)
: siz de diğer doğrulamaları için regex kullanarak ediyorsanız, daha ayrıntılı kullanılabilen bir şey, isteyebilirsiniz Lookbehinds gelince kısıtlayıcı. PHP ve Ruby 1.9+ bunu kabul eder, çünkü her bir alternatifin sabit bir uzunluğu vardır. Onlar bile aynı uzunluğu olmak zorunda değiller; (?<!\.jpg|\.jpeg|\.png)
da işe yarayacaktı. Sadece (?<!\.(?:jpg|jpeg|png))
'da olduğu gibi noktayı dışa vurmaya çalışmayın; alternatif, lookbehind'in üst seviyesinde olmalıdır.
Java, factorb-out sürümünün eşleşmesi gerekebilecek maksimum karakter sayısını belirlemek için derleme zamanında biraz daha fazla çalışma yaptığından, faksı alınmış sürümü kabul eder. Bununla birlikte, lookbehind ifadesinin oldukça basit olması gerekir ve +
veya *
niceleyicileri kullanamaz. Son olarak, .NET ve JGSoft lezzetleri hiç bir kısıtlama getirmiyor. Ancak Python, göz ardı etmek istediğinde bu şifreli hata mesajını oluşturarak, bakma kodunun eşleşmesi gereken karakter sayısını tam olarak belirlemek için çok basit bir girişimde bulunur.
harika iş! Mükemmel – yash