मैं इस कोड ब्लॉक को समझने की कोशिश कर रहा हूं। पहले में, हम अभिव्यक्ति में क्या खोज रहे हैं?जावा रेगेक्स कैप्चरिंग समूह
मेरी समझ यह है कि यह किसी भी चरित्र (0 या अधिक बार *) के बाद किसी भी वर्ण (0 या अधिक बार *) के बाद 0 और 9 (एक या अधिक बार +) के बाद किसी भी वर्ण (0 या अधिक बार *) के बाद होता है।
जब यह परिणाम निष्पादित किया जाता है है:
Found value: This order was placed for QT3000! OK?
Found value: This order was placed for QT300
Found value: 0
किसी कृपया मुझे के साथ इस के माध्यम से जाना सकते हैं?
कैप्चरिंग समूहों का उपयोग करने का क्या फायदा है?
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTut3 {
public static void main(String args[]) {
String line = "This order was placed for QT3000! OK?";
String pattern = "(.*)(\\d+)(.*)";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find()) {
System.out.println("Found value: " + m.group(0));
System.out.println("Found value: " + m.group(1));
System.out.println("Found value: " + m.group(2));
} else {
System.out.println("NO MATCH");
}
}
}
एक नई लाइन डालने के लिए, लाइन के अंत में 2 रिक्त स्थान रखें। मार्कडाउन सिंटैक्स के बारे में अधिक जानकारी: http://en.wikipedia.org/wiki/Markdown - यह भी देखें: http: //stackoverflow.com/editing-help – assylias