स्ट्रिंग # मैचों (स्ट्रिंग) को पास करने के लिए एक स्ट्रिंग की तलाश है जो आईपीवी 4 से मेल खाएगा, और दूसरा आईपीवी 6 से मेल खाता है।आईपीवी 4 और आईपीवी 6 तारों के मिलान के लिए जावा नियमित अभिव्यक्तियां क्या हैं?
उत्तर
public static final String IPV4_REGEX = "\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z";
public static final String IPV6_HEX4DECCOMPRESSED_REGEX = "\\A((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?) ::((?:[0-9A-Fa-f]{1,4}:)*)(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z";
public static final String IPV6_6HEX4DEC_REGEX = "\\A((?:[0-9A-Fa-f]{1,4}:){6,6})(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z";
public static final String IPV6_HEXCOMPRESSED_REGEX = "\\A((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)\\z";
public static final String IPV6_REGEX = "\\A(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\\z";
कुछ ब्लॉग से इन्हें मिला। किसी भी अच्छे w/regexes सभी IPv6 पता प्रकारों के लिए एक एकल regex के साथ आने में सक्षम होना चाहिए। दरअसल, मुझे लगता है कि आपके पास एक एकल रेगेक्स हो सकता है जो आईपीवी 4 और आईपीवी 6 दोनों से मेल खाता है।
हाँ, इसमें कोई शक नहीं किसी को साथ आना चाहिए एक एकल, सभी समावेशी रेगेक्स - ये बहुत दूर हैं, जैसा कि बहुत छोटा है। –
धन्यवाद! ये एक अच्छा प्रारंभिक बिंदु है। लेकिन मुझे पता चला है कि IPV6_HEXCOMPRESSED_REGEX "1 :: 2: 3: 4: 5: 6: 7: 8" स्वीकार करेगा, जो मान्य नहीं है क्योंकि आपके पास 8 से अधिक समूह नहीं हो सकते हैं और :: अधिक संकुचित समूह का तात्पर्य है । – gusterlover6
यहाँ एक regex IPv4 पतों मैच के लिए है:
\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
जब आप एक स्ट्रिंग जावा में शाब्दिक रूप में यह निर्दिष्ट बैकस्लैश से बचने के लिए की आवश्यकता होगी:
"\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b"
प्रसंस्करण के लिए एक और अच्छा विकल्प आईपी जावा के वर्ग Inet4Address और Inet6Address का उपयोग करना है, जो कई तरीकों से उपयोगी हो सकता है, जिनमें से एक आईपी पते की वैधता निर्धारित करना है।
मुझे पता है कि यह सीधे सवाल का जवाब नहीं देता है, लेकिन सिर्फ सोचा कि यह उल्लेखनीय है।
रेगेक्स आईपीवी 4 भागों में अग्रणी शून्यों के उपयोग की अनुमति देता है।
कुछ यूनिक्स और मैक डिस्ट्रोज़ उन खंडों को ऑक्टल में परिवर्तित करते हैं।
मैं एक आईपीवी 4 सेगमेंट के रूप में 25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d
का उपयोग करने का सुझाव देता हूं।
ipv6 के लिए Regexes वास्तव में मुश्किल हो सकता है जब आप एम्बेडेड ipv4 और संपीड़ित पते वाले पते पर विचार करते हैं।
The open-source IPAddress Java library आईपीवी 6 और आईपीवी 4 के सभी मानक प्रतिनिधित्वों को मान्य करेगा और उपसर्ग-लंबाई (और इस तरह के सत्यापन) का भी समर्थन करेगा। अस्वीकरण: मैं उस पुस्तकालय का प्रोजेक्ट मैनेजर हूं।
कोड उदाहरण:
try {
IPAddressString str = new IPAddressString("::1");
IPAddress addr = str.toAddress();
} catch(AddressStringException e) {
//e.getMessage has validation error
}
- 1. आईपीवी 4, आईपीवी 6 और होस्टनाम
- 2. आईपीवी 6 को आईपीवी 4
- 3. आईपीवी 6
- 4. आईपीवी 6
- 5. आईपीवी 6
- 6. जावा डेवलपर्स के लिए आईपीवी 6 तैयारी
- 7. जेएमडीएनएस आईपीवी 4 इंटरफ़ेस पर पंजीकृत है, लेकिन आईपीवी 6
- 8. आईपीवी 6 सी #
- 9. आईपीवी 6 के साथ जिओलोकेशन?
- 10. जावा में एंड्रॉइड और आईपीवी 6
- 11. आईपीवी 6 पता
- 12. रेल आईपीवी 6 सर्वर
- 13. आईपीवी 6 लुकअप डेटा संरचना
- 14. PHP $ _SERVER ['REMOTE_ADDR'] आईपीवी 6
- 15. आईपीवी 4 और आईपीवी 6 कनेक्शन दोनों का समर्थन कैसे करें
- 16. MySQL डेटाबेस (आईपीवी 4 और आईपीवी 6) में आईपी पता संग्रहीत करना
- 17. एसक्यूएल सर्वर में एकल कॉलम में आईपीवी 4 या आईपीवी 6 दोनों को कैसे स्टोर करें?
- 18. आईपीवी 4 से आईपीवी 6 में बदलें: वेब विकास पर इसका क्या प्रभाव है?
- 19. एएसपीनेट एप्लिकेशन आईपीवी 6 अनुपालन
- 20. मैं जेआरई पर आईपीवी 4 आईपी के लिए आईपीवी 6 स्टैक उपयोग को कैसे अक्षम कर सकता हूं?
- 21. एंड्रॉइड पर आईपीवी 6 सॉकेट
- 22. यह निर्धारित करें कि कोई इनसेटसेट एड्रेस आईपीवी 6 या आईपीवी 4
- 23. नियमित अभिव्यक्तियां - मिलान व्हाइटस्पेस
- 24. आईआईएस Request.UserHostAddress आईपीवी 6 (:: 1) लौटा रहा है, भले ही आईपीवी 6 अक्षम
- 25. PHP में आईपीवी 6 का पता लगाएं?
- 26. यसोड डेवेल सर्वर केवल आईपीवी 6
- 27. आईपीवी 4 से आईपीवी 6 तक सी ++ टीसीपी/आईपी अनुप्रयोगों को परिवर्तित करना। मुश्किल? प्रयास के लायक?
- 28. नियमित अभिव्यक्तियां और जीडब्ल्यूटी
- 29. जावास्क्रिप्ट नियमित अभिव्यक्तियां और उप-मिलान
- 30. सी # निर्देशिका। एक्सपीआईएस आईपीवी 6 संस्करण
भी देखें http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses – Flow