की सामग्री मैं पाइथन से node.js. में निम्नलिखित को बदलने की कोशिश कर रहा हूं।एक RegExp मैच
var localIp = new RegExp(/(^127\.0\.0\.1)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^192\.168\.)/);
console.log('192.168.0.1'.match(localIp));
console.log('8.8.8.8'.match(localIp));
console.log('109.231.231.221'.match(localIp));
कौन मेरा पीछा उत्पादन देता है:
import re
def is_private_ip(ip):
"""
Returns `True` if the `ip` parameter is a private network address.
"""
c = re.compile('(^127\.0\.0\.1)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^192\.168\.)')
if c.match(ip): return True
return False
print is_private_ip('192.168.0.1') # True
print is_private_ip('8.8.8.8') # False
print is_private_ip('109.231.231.221') # False
मैं इस तरह जावास्क्रिप्ट में इसे लागू किया: यह एक बस प्रोग्राम एक आईपी पता सार्वजनिक या निजी है अगर जाँच करने के लिए regex का उपयोग करता है है
[ '192.168.',
undefined,
undefined,
undefined,
undefined,
undefined,
'192.168.',
index: 0,
input: '192.168.0.1' ]
null
null
ऐसा लगता है जैसे यह काम करता है (यहां तक कि टीबी भी नहीं)। दो आईपी जो सार्वजनिक होनी चाहिए null
लौट रहे हैं, इसलिए मुझे लगता है कि यह सही है। हालांकि मैं दूसरे मैच के आउटपुट को समझ नहीं पा रहा हूं? मैं यह समझने में सक्षम नहीं हूं कि इसका अर्थ क्या है
.match() आपको अपने स्ट्रिंग में संभव मैचों की संख्या देता है। शायद आप जो खोज रहे हैं वह है .test() विधि। – Shivi