दो या दो से अधिक लगातार वर्णों को खोजने के लिए


98

मुझे यह निर्धारित करने की आवश्यकता है कि क्या एक स्ट्रिंग में दो या अधिक लगातार अल्फा वर्ण हैं। दो या अधिक [a-zA-Z]पक्ष। उदाहरण:

"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid

जवाबों:



1

वैयक्तिक (एक nooby के रूप में) मैंने प्रयोग किया है:

[0-9][0-9]+.

लेकिन साइमन से एक, बेहतर तरीका है! = D


0

[a-zA-Z] {२,} दो या दो से अधिक समान लगातार वर्णों के लिए काम नहीं करता है। ऐसा करने के लिए, आपको किसी भी चरित्र को कैप्चर करना चाहिए और फिर कैप्चर को इस तरह दोहराना चाहिए:

(।) \ 1

कोष्ठक कब्जा कर लेता है। जो किसी भी चरित्र का प्रतिनिधित्व करता है और \ _ कैप्चर का परिणाम है - मूल रूप से उस चरित्र के लगातार दोहराने की तलाश में है। यदि आप चाहते हैं कि आप किन वर्णों पर विशिष्ट होना चाहते हैं, तो वे समान हैं, बस "किसी भी वर्ण" को एक वर्ण वर्ग से बदल दें ...

([A-zA-Z]) \ 1

लगातार दोहराए जाने वाले ऊपरी या निचले अक्षर को ढूँढता है। "Abbc123" पर मिलान करता है और "abc1223" पर नहीं। उन दोनों के बीच एक जगह (यानी अब) के लिए अनुमति देने के लिए, फिर कैप्चर किए गए चरित्र और दोहराने के बीच regex में एक वैकल्पिक स्थान शामिल करें ...

([Az] AZ]) \ रों? \ 1


मुझे पूरा यकीन है कि आपने प्रश्न को गलत समझा क्योंकि यह दो अक्षरों का है। आपका रेगेक्स एक अलग मामले के लिए है: दो समान अक्षर!
csabinho

-4

मुझे पूरा यकीन है कि आप छोटे और ऊपरी मामले अल्फा चार्ट http://www.w3schools.com/jsref/jsref_obj_regexp.asp पाने के लिए [a-zA-Z] के बजाय [Az] का उपयोग कर सकते हैं


22
-1: यह एक और अद्भुत उदाहरण है कि आपको संदर्भ या शिक्षा के लिए w3schools का उपयोग क्यों नहीं करना चाहिए। [A-z]पत्रों से अधिक मेल खाता है। विशेष रूप से, यह चौकोर कोष्ठक, बैकस्लैश, कैरेट, अंडरस्कोर और बैकटिक्स से भी मेल खाता है।
टिम पीटरज़

दरअसल, @TimPietzcker जो कहते हैं, वह सही है; पात्रों वह बीच में आ उल्लेख किया Zऔर a, इसलिए हो सकता है (ग़लती से) इस तरह के एक पैटर्न में शामिल थे। मैं दूसरी सिफारिश करता हूं: w3schools का उपयोग न करें! इसमें इस तरह की बहुत बुरी जानकारी है।
एंड्रयू बार्बर

5
आउच पहले स्टैक पर ज़िंग करता है, यह जितना मैंने सोचा था उससे अधिक स्टिंग करता है। इसलिए अज़ को शामिल करने से यह सब कुछ मेल खाता है [अज़ ऑफ स्टफ ए सामान ऑफ़ आई नॉट एंड अज़] सभी चारकॉल कैपिटल और नॉन कैप्स के बीच? danshort.com/ASCIImap
केविन

तो मैं ऐसा कुछ कह सकता हूँ [! +]। वहाँ भी एक तरह से एक regex के अंदर charcode का उपयोग करने का एक तरीका है [65-90] जो [AZ] के समान होगा?
केविन

@ केविन [65-90]मैच होगा 5- 9(जिसमें शामिल भी हैं 6) और 0!
csabinho
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.