तुच्छ रेगेक्स प्रश्न (उत्तर शायद जावा-विशिष्ट है):जावा में अपेक्षित के रूप में यह regex काम क्यों नहीं करता है?
"#This is a comment in a file".matches("^#")
यह झूठा रिटर्न देता है। जहां तक मैं देख सकता हूं, ^
का अर्थ है कि इसका हमेशा क्या अर्थ है और #
का कोई विशेष अर्थ नहीं है, इसलिए मैं स्ट्रिंग की शुरुआत में ^#
को "ए" # के रूप में अनुवादित करूंगा। जो मैच करना चाहिए। और ऐसा करता है, पर्ल में:
perl -e "print '#This is a comment'=~/^#/;"
प्रिंट "1"। तो मुझे पूरा यकीन है कि उत्तर कुछ जावा विशिष्ट है। क्या कोई मुझे प्रबुद्ध करेगा?
धन्यवाद।
यह सही जवाब है, धन्यवाद। क्या यह कहीं दस्तावेज है? क्योंकि मैं इसे String.matches के दस्तावेज़ से नहीं पढ़ सकता: "बताता है कि यह स्ट्रिंग दी गई नियमित अभिव्यक्ति से मेल खाती है या नहीं।" आपके द्वारा वर्णित की तरह नहीं लगता है। – 0xCAFEBABE
मैंने हमेशा "संपूर्ण इनपुट" को इंगित करने के लिए "मैचों" को समझा है, लेकिन मैंने उपरोक्त पूर्ण स्पष्टीकरण (और इसे कैसे ढूंढें) जोड़ा है। –
धन्यवाद एक गुच्छा। – 0xCAFEBABE