का उपयोग कर स्ट्रिंग्स से आईपी पते निकालें, एक एप्लिकेशन में, मुझे आईपी पते वाले तार मिलते हैं लेकिन इन स्ट्रिंग में कोई सटीक प्रारूप नहीं है। हम सभी जानते हैं कि इन तारों में एक आईपी पता हो सकता है।रीजिक्स
- "XPSPort"
- "IP_10.29.167.187"
- "10.29.166.193"
मैं करूंगा:
यहाँ क्या स्ट्रिंग की तरह लग सकता है, इसका एक उदाहरण जावा कोड प्राप्त करना चाहते हैं जो स्ट्रिंग के आईपी पते को निकालता है यदि कोई है या जो स्ट्रिंग में आईपी एड्रेस नहीं है तो रिटर्न देता है।
मैं इस कोड की कोशिश की लेकिन यह काम नहीं करता:
String IPADDRESS_PATTERN =
"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";
Pattern pattern = Pattern.compile(IPADDRESS_PATTERN);
Matcher matcher = pattern.matcher(ipString);
if (matcher.find()) {
return matcher.group();
}
else{
return "0.0.0.0";
}
मैं का उपयोग कर रेगुलर एक्सप्रेशन का सबसे अच्छा तरीका है कि प्राप्त करने के लिए यकीन है कि कर रहा हूँ, लेकिन मैं इन के साथ बहुत अच्छा नहीं कर रहा हूँ तो कोई मेरी मदद कर सकते अच्छा RegExp खोजें?
अग्रिम धन्यवाद।
संभव डुप्लिकेट (http://stackoverflow.com/questions/8439633/regex-ip-address-from-string) – Richard
धन्यवाद रिचर्ड, यह वास्तव में एक डुप्लिकेट नहीं है क्योंकि मेरे सी में आईपी हमेशा एक पूर्ण शब्द नहीं है लेकिन इससे मुझे जवाब खोजने में मदद मिली। – Padrus