2013-04-24 6 views
9

से मेल खाता है तो मेरे पास अभिव्यक्ति है जैसे "./folder/thisisa.test/file.cxx.h" मैं सभी "।" को कैसे प्रतिस्थापित/हटा सकता हूं। लेकिन अंतिम बिंदु?पाइथन रेगेक्स सभी अंतिम मिलान

+0

जो मैंने रखा है वह तेज़ है। खैर, आप हालांकि अंतर नहीं देखेंगे। – Loamhoof

+0

यह उन सभी को बदलने के लिए लूप का उपयोग करने के लिए शायद तेज़ है, अंतिम प्रतिस्थापन के सूचकांक का ट्रैक रखें, और लूप के बाद अंतिम बिंदु पर वापस स्थानांतरित करें। – didierc

+0

यदि आप पथनामों में हेरफेर कर रहे हैं, तो 'os.path' – Felipe

उत्तर

13

एक regex के साथ, लेकिन पिछले डॉट सब से मेल करने के लिए:

'\.(?=[^.]*\.)' 

कि वहाँ एक हमने पाया (अग्रदर्शी मैच का हिस्सा नहीं है) के बाद एक और डॉट है की जाँच करने के लिए एक lookahead का उपयोग करना।

+1

पर एक नज़र डालें सहायता के लिए धन्यवाद – landocalrissian

संबंधित मुद्दे