बस अप करने के लिए, लेकिन पिछले अवधिसरल Regex: सब कुछ पिछले डॉट जब तक
dog.jpg -> dog
abc123.jpg.jpg -> abc123.jpg
मैं कोशिश की है
(.+?)\.[^\.]+$
बस अप करने के लिए, लेकिन पिछले अवधिसरल Regex: सब कुछ पिछले डॉट जब तक
dog.jpg -> dog
abc123.jpg.jpg -> abc123.jpg
मैं कोशिश की है
(.+?)\.[^\.]+$
यहां लुकहेड की कोई आवश्यकता नहीं है .. केवल – rock321987
चरणों की संख्या बढ़ जाती है, यह बहुत अच्छा काम करता है – bigdowg
यह हमेशा एक ही स्थान पर दो बार मेल खाता है। – sln
इस चाल करना होगा सहित नहीं हर चरित्र का मिलान करना चाहते से मेल
(.*)\.
पहले कब्जे वाले समूह में नाम शामिल है। आप $1
या \1
के रूप में यह उपयोग कर सकते हैं के रूप में अपनी भाषा के प्रति
का उपयोग करके इसका परीक्षण कर रहा है इसमें यह मेरे लिए डॉट शामिल है – bigdowg
@bigdowg आप इसका उपयोग कहां कर रहे हैं? यह सिर्फ मिलान किए गए हिस्से को दिखा रहा है .. हरा भाग (डेमो में) वास्तविक स्ट्रिंग को दिखाता है जो आप चाहते हैं – rock321987
यह एक अच्छा जवाब है। – sln
रेगुलर एक्सप्रेशन लालची डिफ़ॉल्ट रूप से कर रहे हैं। इसका मतलब यह है कि जब एक रेगेक्स पैटर्न अधिक वर्णों से मेल खाने में सक्षम होता है, तो यह अधिक वर्णों से मेल खाता है।
यह आपके मामले में एक अच्छी बात है। तुम सब करने की ज़रूरत मैच पात्रों और फिर एक बिंदु है:
.*\.
है,
. # Match "any" character
* # Do the previous thing (.) zero OR MORE times (any number of times)
\ # Escape the next character - treat it as a plain old character
. # Escaped, just means "a dot".
तो: डिफ़ॉल्ट रूप से लालची जा रहा है, के रूप में किसी भी चरित्र रूप में कई बार मेल खाते हैं आप कर सकते हैं (क्योंकि लालची) और फिर एक शाब्दिक बिंदु।
आपसे एक सवाल किया है? तो आपके लिए नियमित रूप से अभिव्यक्ति लिखने के लिए यहां नहीं है। – jonrsharpe
'abcd',' a.b.c.d.e' जैसे मामले के लिए क्या? – rock321987
भी, आप क्या चाहते हैं फ़ाइल एक्सटेंशन को हटाना है ?? आप REGEX के बजाय इसके लिए टूल का उपयोग क्यों नहीं करते ?? बेसनाम() की तरह? – aampudia