Java regex (to me) unexpected behaviour -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 1 उत्तर

मेरे पास निम्न जावा कोड है :

  पैटर्न p = Pattern.compile ("#। *,", पैटर्न। DOTALL); Matcher m = p.matcher ("# $ 0: = डिफ़ॉल्ट के साथ युक्ति (एक्स, वाई) {{\ \ system.out.println (x + y); \ n}};"); जबकि (m.find ()) {System.out.println ("मिला:" + m.group () + "।"); }  

और मुझे मिल रहा है:

  मिला: # $ 0: = डिफ़ॉल्ट के साथ युक्ति (एक्स, वाई) {{System.out.println (x + वाई); }} ;.  

वही जो मुझे चाहिए लेकिन उपरोक्त पैटर्न से मुझे यह उम्मीद है कि यह # और पहले सेमीकोलन के बीच कुछ भी मैच करे, न कि पिछले एक I.e., मैं इसे $ 0: = Spec (x, y) को डिफ़ॉल्ट {{System.out.println (x + y) से मिलान करने की अपेक्षा करता हूं; । यह कैसे पिछले सेमीकोलन से मेल खाता है

  पैटर्न p = Pattern.compile (" #। * ?; ", पैटर्न। DOTALL);  *   *   के बाद  *  जोड़कर अपना प्रतिमान न लालच करें  
अधिकतम कर सकते हैं।


Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

javascript - data.match(var) not working it seems -

javascript - How can I pause a jQuery .each() loop, while waiting for user input? -