regex - Regular Expression not working in Java -
मेरे पास स्ट्रिंग "SELECTOR ('(namespace =' 'ar.com.osde.reintegros' 'और इवेंटनाम = '' जनरेशन रिएन्टेग्रो '') ') "।
मुझे स्ट्रिंग जो " SELECTOR (" और ") के बीच है " / कोड>, परिणाम होना चाहिए: '(नाम स्थान =' 'ar.com.osde.reintegros' 'और eventname =' 'generacionReintegro' ')' '।
मेरा नियमित अभिव्यक्ति के साथ कोड है:
सार्वजनिक स्थिर स्ट्रिंग निकालें चयनकर्ता (स्ट्रिंग टेक्सटी) {पैटर्न पैटर्न = Pattern.compile ("^ SELECTOR \\ (। *) \\) $"); Matcher एम = पैटर्न। मेटार्चर (txt); स्ट्रिंग एस = नल; जबकि (m.find ()) {s = m.group (1); } वापसी एस; } जहां txt = लेकिन यह हमेशा "SELECTOR ('(नेमस्पेस =' 'ar.com.osde.reintegros' 'और eventname =' 'generacionReintegro' '))' ' null वापस लौटाता है ऐसा क्यों है?
यह दर्शाता है कि कोड का वह भाग काम करता है (केवल Txt और रिटर्न कथन हटा दिया गया है)। क्या आप सुनिश्चित हैं कि इससे पहले txt के साथ कुछ भी नहीं किया गया है?
आपके कोड को देखते हुए, केवल स्पष्टीकरण यह है कि txt पूरी तरह से पैटर्न से मेल नहीं खाता ... क्योंकि जबकि -loop बिल्कुल भी निष्पादित नहीं होता है (इस प्रकार ढूंढें हमेशा झूठा होता है)।
शायद के बीच रिक्त स्थान हैं > चयनकर्ता और ओपनिंग ब्रैकेट (, शायद SELECTOR को लोअरकेस में रखा जा सकता है।) इसे डिबग करने के लिए, शायद आप
System.out.println ("\" "+ txt +" \ ""); वास्तव में मिलान करने से पहले, या ऐसा करने के लिए अपने आईडीई की डीबगर विशेषताओं का उपयोग करें। रिक्त स्थान अधिक स्पष्ट बनाने के लिए उद्धरण चिह्नों का उपयोग किया जाता है।
Comments
Post a Comment