2011-04-10 17 views
53

मैं स्ट्रिंग में 2 से अधिक सफेद रिक्त स्थानों को प्रतिस्थापित नहीं करना चाहता हूं, लेकिन नई लाइनें नहीं, मेरे पास यह रेगेक्स है: \s{2,} लेकिन यह नई लाइनों से मेल खाता है।रेगेक्स 2 से अधिक सफेद रिक्त स्थान से मेल खाता है लेकिन नई लाइन

मैं केवल 2 या अधिक सफेद रिक्त स्थान से कैसे मेल खा सकता हूं न कि नई लाइनें?

मैं #

+0

@nihcap - असल में, सी # का अपना रेगेक्स स्वाद नहीं है, यह नेट सामान्य पुस्तकालय का हिस्सा है। इस मामले में, नेट और सी # दोनों उपयोगी टैग हैं। – Kobi

उत्तर

101

ग उपयोग कर रहा हूँ सफेद स्थान वर्ण आप एक चरित्र वर्ग के अंदर मैच के लिए रखें। उदाहरण के लिए:

[ \t]{2,} 

2 या अधिक रिक्त स्थान या टैब से मेल खाता है।

तुम भी कर सकता है:

[^\S\r\n]{2,} 

जो कम से कम दो बार \r और \n को छोड़कर किसी भी सफेद-अंतरिक्ष चार से मेल खाता है (ध्यान दें कि \S में राजधानी S[^\s] के लिए कम है)।

+0

आपकी आखिरी वाक्य में "शॉर्ट फॉर" का क्या मतलब है? इस शॉर्टेंड के बिना पूरी नियमित अभिव्यक्ति कैसी दिखती है? –

+1

@ एलोनिबेस्ट नियमित अभिव्यक्तियों में, बचने वाले अनुक्रमों के लिए \ w, यह प्रायः एक सम्मेलन है कि अपरकेस से बचने का अनुक्रम लोअरकेस एस्केप दृश्यों का व्यस्त चरित्र सेट है। जैसे \ d \ D के विपरीत है, \ s \ S के विपरीत है, \ w \ W के विपरीत है, और साथ ही, एक वर्ण वर्ग सेट के भीतर [] जैसे [abc] के रूप में सीमित है, यह एक उलटा निर्दिष्ट करना संभव है [^ एबीसी] का उपयोग कर। इस प्रकार, \ एस [^ \ s] के समतुल्य है, जो अनुमत अनुमति [^^ \ S] के बराबर होगा, अगर इसकी अनुमति थी। (^^ एक व्यस्त के विपरीत का प्रतिनिधित्व करने का एक वैध तरीका नहीं है।) –

+0

@ डीजे क्लेटन धन्यवाद, मुझे यह नहीं पता था। –

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

  • कोई संबंधित समस्या नहीं^_^