से मेल खाने के लिए regex अभिव्यक्ति regex expression
के साथ मैं कैसे पता लगा सकता हूं यदि व्यंजन तीन बार या अधिक बार दोहराया जाता है?व्यंजन
मेरा विचार tttool
या likkke
या likkkkke
जैसे शब्दों का मिलान करने के लिए है
से मेल खाने के लिए regex अभिव्यक्ति regex expression
के साथ मैं कैसे पता लगा सकता हूं यदि व्यंजन तीन बार या अधिक बार दोहराया जाता है?व्यंजन
मेरा विचार tttool
या likkke
या likkkkke
जैसे शब्दों का मिलान करने के लिए है
वहाँ लेकिन कुछ regex पुस्तकालयों में शॉर्टकट हो सकता है आप हमेशा कर सकते हैं ...
b{3,}|c{3,}|d{3,}...
उदाहरण के लिए कुछ libs आप उपयोग कर से मिलान कर एक बैक रेफरेंस जो एक टैड क्लीनर हो सकता है ...
(bcd...)\1{2,}
आप बैक-रेफरेंस के साथ कैप्चर समूह का उपयोग कर सकते हैं तों। यह प्रतीक दोहरा कब्जा होगा:
/(
([\w]) ## second group is just one symbol
\2 ## match symbol found in second groups
\2+ ## match same symbol one or more times
)/x ## x is just to allow inner comments
लेकिन सभी regexp इंजन वापस संदर्भ समर्थन करते हैं।
इस प्रयास करें:
([b-df-hj-np-tv-z])\1{2,}
स्पष्टीकरण:
[b-df-hj-np-tv-z]
हैं सभी व्यंजन\1
1 समूह को वापस संदर्भ (यानी ही चरित्र){2,}
का मतलब है "पिछले अवधि के 2 या अधिक", 3 या मोर बनाना ईपरीक्षण और यह काम करता है।
(?i)([b-z&&[^eiou]])\1\1+
यह एक regex चरित्र वर्ग घटावको स्वरों को बाहर का उपयोग करता है:
"http" या "टाइप" पकड़ा गया है – user455318
जैसा कि एंड्रयू व्हाइट नीचे बताया गया है; यह मैच "बीसीडी" नहीं होगा? – Mikey
अब यह "बीबीबी" से मेल नहीं खाएगा क्योंकि इसे पहले से मेल खाने के बाद "बीबीबीबी" की आवश्यकता है और फिर बैक रेफरेंस 3 से अधिक बार मेल खाना चाहिए। –
यह कम से कम regex मैं यह करने के बारे में सोच सकता है के बारे में है।
मुझे "ए" का उल्लेख नहीं करना पड़ा क्योंकि मैंने "बी" से सीमा शुरू की थी।
(?i)
का उपयोग रेगेक्स केस असंवेदनशील बनाता है।
live demo देखें।
जवाब उच्च [b-df-hj-np-tv-z])\1{2,}
से regex एक गलती ("y" fogotten है)
यह [b-df-hj-np-tv-xz])\1{2,}
"Y" भूला नहीं किया गया था, उस मामले में यह सिर्फ एक व्यंजन है। – Apollo
पत्र Y दोनों एक स्वर और व्यंजन के रूप में माना जा सकता है। [ऑक्सफोर्ड डिक्शनरी से प्रमाण] (https://en.oxforddictionaries.com/explore/is-the-letter-y-a-vowel-or-a-consonant) –
+1 कि काम करेंगे होना चाहिए है। हालांकि मेरे स्वाद के लिए थोड़ा सा वर्बोज़! –
अपडेट किया गया, लेकिन यह आपके lib पर निर्भर हो सकता है ... –
+1 इसका उत्तर देने वाले पहले व्यक्ति के लिए :) – anubhava