java - Matcher lookingAt method matching empty String -


मैं एक Matcher उदाहरण का उपयोग कर रहा हूँ < कोड> दिखने वाला () विधि lookingAt () फिर भी जब मैं एक खाली स्ट्रिंग से एक पैटर्न बनाते हैं और इसे खाली-रहित (ट्रिम) स्ट्रिंग के साथ मेल करने का प्रयास करते हैं तब वापस लौट रहा है। < P> सबसे पहले, जैसा कि मैंने यह अपेक्षा की है:

  स्ट्रिंग फ़ील्ड = "डेव अलाबामा के पास गया" स्ट्रिंग एस्केपक्वाइडेड = पैटर्न। कोट ("दवे चला गया"); पैटर्न पैटर्न = Pattern.compile (एस्केप किया गया क्यूई, पैटर्न। सीएएसईएक्सएएनएसएएनटीटीईईईईएव); Matcher matcher = pattern.matcher (क्षेत्र); // matcher.lookingAt () == सच   

हालांकि, एक खाली स्ट्रिंग से उत्पन्न ये पैटर्न भी सही देता है:

  स्ट्रिंग escapedQuery = Pattern.quote ( ""); पैटर्न पैटर्न = Pattern.compile (एस्केप किया गया क्यूई, पैटर्न। सीएएसईएक्सएएनएसएएनटीटीईईईईएव); Matcher matcher = pattern.matcher (क्षेत्र);  

क्या कोई मुझे बताता है कि मैं क्या हूं बहुत सारे धन्यवाद।

खाली नियमित अभिव्यक्ति सभी तारों से मेल खाती है यदि आप एक नियमित अभिव्यक्ति चाहते हैं जो केवल खाली स्ट्रिंग से मेल खाती है, तो आपको इसके लिए कुछ की आवश्यकता होगी:

  पैटर्न पैटर्न = Pattern.compile ("^ $", Pattern.CASE_INSENSITIVE);   

^ एक स्ट्रिंग की शुरुआत से मेल खाता है, और $ अंत से मिलान करता है अभिव्यक्ति ^ $ इसलिए शुरू होती है और तुरंत समाप्त होने वाले स्ट्रिंग्स से मेल खाती है; अर्थात, खाली स्ट्रिंग।

बेशक खाली स्ट्रिंग से मिलान करने के लिए बेहतर तरीके हैं। इन वसंतों को ध्यान में रखना:

  string.length () == 0 string.equals ("");    

Comments

Popular posts from this blog

c# - Textbox not clickable but editable -

Matlab transpose a table vector -

ios - Adding an SKSpriteNode to SKScene from a child SKSpriteNode -