2012-08-22 21 views
5

मान लीजिए मैं कुछ स्ट्रिंग है, और उस पर निम्नलिखित परीक्षण चलाने:सबस्ट्रिंग पाया जाता है, लेकिन regex विफल रहता है

response.indexOf("</p:panelGrid>"); 
response.matches(".*</p:panelGrid>.*"); 

कैसे यह संभव है कि indexOf सबस्ट्रिंग (यह -1 वापस नहीं करता है) पाता है, लेकिन दूसरे परीक्षण में नियमित अभिव्यक्ति मैच नहीं है?

मैं एक परीक्षण लिखने की कोशिश करते समय इस समस्या में आया हूं जो जांचता है कि टैगलिब को जेएक्स में पैक्स वेब के साथ सही तरीके से प्रस्तुत किया गया है या नहीं। मैं इस परीक्षण के बाहर इस व्यवहार को पुन: उत्पन्न करने में सक्षम नहीं हूं।

+0

आपके पास शायद बचने के पात्र हैं। – m3th0dman

+6

ऐसे स्ट्रिंग प्रदान करें जो इस तरह के व्यवहार को प्रदर्शित करता है। –

उत्तर

7

. न्यूलाइन अक्षरों को छोड़कर सब कुछ मेल खाता है। आपको अपनी रेगेक्स स्ट्रिंग को

"(?s).*</p:panelGrid>.*" 

फिर यह हमेशा मेल खाएगा।

+0

मुझे लगता है कि मुझे मैन्युअल को बेहतर पढ़ना चाहिए था। धन्यवाद! –

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