आप केवल परवाह है कि स्ट्रिंग .jpg
या .png
साथ अंत नहीं है, तो आप इस का उपयोग कर सकते पूरे स्ट्रिंग का उपभोग करने के लिए रेगेक्स को मजबूर करने की आवश्यकता हो सकती है।
^\w+(?:\.\w+)+$(?<!\.jpg)(?<!\.png)
आप शायद (?<!\.jpg|\.png)
उपयोग करने के लिए है, जो क्योंकि पायथन के regex स्वाद सबसे में से एक है काम नहीं होगा की कोशिश की: आपको अन्य सत्यापन के लिए regex का उपयोग कर रहे हैं, तो आप और अधिक व्यापक कुछ, जैसे चाहते हो सकता है जब यह देखने की बात आती है तो प्रतिबंधक। PHP और रूबी 1.9+ इसे स्वीकार करेंगे क्योंकि प्रत्येक विकल्प में निश्चित लंबाई होती है। उन्हें भी लंबाई होने की आवश्यकता नहीं है; (?<!\.jpg|\.jpeg|\.png)
भी काम करेगा। बस (?<!\.(?:jpg|jpeg|png))
में डॉट को कारक करने की कोशिश न करें; विकल्प दिखने के शीर्ष स्तर पर होना चाहिए।
जावा फैक्टर-आउट संस्करण को स्वीकार करेगा क्योंकि यह संकलन समय पर थोड़ा अधिक काम करता है ताकि अधिकतम अक्षरों को निर्धारित करने की आवश्यकता हो। हालांकि, अभिव्यक्ति अभिव्यक्ति को काफी सरल होना आवश्यक है, और यह +
या *
क्वांटिफ़ायर का उपयोग नहीं कर सकता है। अंत में, .NET और JGSoft स्वादों पर सभी पर कोई प्रतिबंध नहीं है। लेकिन पाइथन एक सटीक दिमागी प्रयास बनाता है जो देखने के लिए आवश्यक पात्रों की सटीक संख्या को समझने के लिए बनाता है, जो उस क्रिप्टिक त्रुटि संदेश को विफल होने पर उत्पन्न करता है।
स्रोत
2012-04-07 15:23:30
महान काम! उत्कृष्ट – yash