2013-03-19 10 views
10

मुझे पता है कि यह थोड़ा अनावश्यक लगता है लेकिन मुझे कुछ भी मिलान करने के लिए रेगेक्स चाहिए।कुछ भी मिलान करने के लिए रेगेक्स

फिलहाल हम ^*$ का उपयोग कर रहे हैं, लेकिन इससे कोई फर्क नहीं पड़ता कि टेक्स्ट क्या है।

मैं कोई पाठ के लिए मैन्युअल जांच नहीं करता हूं लेकिन हमारे द्वारा उपयोग किए जाने वाले परीक्षण दृश्य को हमेशा रेगेक्स के साथ मान्य किया जाता है। हालांकि, कभी-कभी हमें रेगेक्स का उपयोग करके कुछ भी सत्यापित करने की आवश्यकता होती है। यानी इससे कोई फर्क नहीं पड़ता कि टेक्स्ट फ़ील्ड में क्या है, यह कुछ भी हो सकता है।

मैं वास्तव में रेगेक्स का उत्पादन नहीं करता हूं और मैं उनके साथ एक पूर्ण शुरुआत कर रहा हूं।

उत्तर

9

रेगेक्स .* कुछ भी मिलान करेगा (रिक्त स्ट्रिंग सहित, जूनक्सक्स पॉइंट आउट के रूप में)।

+6

और कुछ भी नहीं, जो ऐसा लगता है कि वह नहीं चाहता है। तो, '। +' – Junuxx

+0

कुछ भी नहीं जांचना बहुत मायने रखता है क्योंकि मैं रेगेक्स के बाहर ऐसा कर रहा हूं। मैं धन्यवाद, हालांकि दोनों कोशिश करेंगे। – Fogmeister

3

^ ", शून्य चौड़ाई मैच", शुरुआत के-लाइन लंगर है, इसलिए यह एक हो जाएगा, जिसका अर्थ है कि यह किसी भी वास्तविक वर्ण (और पहले वर्ण का मिलान नहीं हुआ के बाद ^ पहले हो जाएगा मेल नहीं खाएगी स्ट्रिंग का चरित्र)। इसी तरह, $ अंत-ऑफ-लाइन एंकर है।

*क्वांटिफायर है। यह अपने आप से कुछ भी मेल नहीं करेगा; यह केवल इंगित करता है कि पैटर्न के एक हिस्से को कितनी बार मिलान किया जा सकता है। विशेष रूप से, यह इंगित करता है कि पिछले "परमाणु" (यानी, पिछले वर्ण या पिछले संश्लेषित उप-पैटर्न) से किसी भी संख्या से मेल खाते हैं।

वास्तव में वर्णों के कुछ सेट से मेल खाने के लिए, आपको वर्ण वर्ग का उपयोग करने की आवश्यकता है। जैसा कि रिचीइंडल ने इंगित किया है, आपको जिस चरित्र वर्ग की आवश्यकता है वह . है, जो न्यूलाइन को छोड़कर किसी भी चरित्र का प्रतिनिधित्व करता है (और इसे नए ध्वज के साथ-साथ उचित ध्वज का उपयोग करने के लिए भी बनाया जा सकता है)। तो .*. (किसी भी चरित्र) पर * (किसी भी संख्या) मैचों का प्रतिनिधित्व करता है। इसी प्रकार, .++ (कम से कम एक) . (किसी भी चरित्र) पर मेल का प्रतिनिधित्व करता है।

+1

एक रहस्यमय डाउनवोट प्रकट होता है! क्या मेरा जवाब वास्तव में गलत है? टी एल; डॉ?सवाल के जवाब में काफी जवाब नहीं है? * हम निश्चित रूप से कभी नहीं जानते! * –

0

मैं जानता हूँ कि यह एक सा पुराने पोस्ट है, लेकिन हम की तरह अलग अलग तरीके हैं कर सकते हैं:।

  1. *
7

चुना जवाब थोड़ा गलत है, (*।?) क्योंकि यह लाइन ब्रेक या रिटर्न से मेल नहीं खाता है। यह regex to match anything उपयोगी होती है, अपने वांछित चयन किसी भी पंक्ति विराम में शामिल हैं:

[\s\S]+

[\s\S] एक चरित्र या तो एक खाली स्थान के चरित्र (लाइन ब्रेक वर्णों सहित), या एक चरित्र है कि एक खाली स्थान के चरित्र नहीं है कि मेल खाता है। चूंकि सभी पात्र या तो व्हाइटस्पेस या गैर-व्हाइटस्पेस हैं, इसलिए यह वर्ण वर्ग किसी भी चरित्र से मेल खाता है। + पिछली अभिव्यक्ति में से एक या अधिक से मेल खाता है

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