我url来自用户,我必须回复提取的HTML.
如何检查URL是否格式错误?
例如 :
url='google' // Malformed
url='google.com' // Malformed
url='http://google.com' // Valid
url='http://google' // Malformed
Run Code Online (Sandbox Code Playgroud)
我们怎样才能做到这一点?
检查字符串是否与某个模式匹配的最快方法是什么?正则表达式是最好的方法吗?
例如,我有一堆字符串,想要检查每一个字符串以查看它们是否是有效的IP地址(在这种情况下有效意味着正确的格式),是使用正则表达式执行此操作的最快方法吗?或者有更快的东西像字符串格式或其他东西.
这样的事情是我到目前为止所做的:
for st in strs:
if re.match('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', st) != None:
print 'IP!'
Run Code Online (Sandbox Code Playgroud) 我在路由器后面,我需要一个简单的命令来发现我的公共IP(而不是谷歌搜索我的IP和点击结果)
这有什么标准协议吗?我听说过STUN,但我不知道怎么用它?
PS我打算写一个简短的python脚本来做
我正在尝试进行测试以检查sys.argv输入是否与RegEx的IP地址匹配...
作为一个简单的测试,我有以下......
import re
pat = re.compile("\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}")
test = pat.match(hostIP)
if test:
print "Acceptable ip address"
else:
print "Unacceptable ip address"
Run Code Online (Sandbox Code Playgroud)
但是,当我将随机值传递给它时,在大多数情况下会返回"可接受的IP地址",除非我有一个基本等同于的"地址" \d+.
在下面的ip地址验证中,我想看看它是否是一个有效的IP地址,我怎么能用下面的re做到这一点
>>> ip="241.1.1.112343434"
>>> aa=re.match(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[^0-9]",ip)
>>> aa.group()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'
Run Code Online (Sandbox Code Playgroud) 用户将输入主机名或IP地址.如果用户输入IP地址,我想保持原样,但如果用户输入主机名,我想使用以下方法将其转换为IP地址:
def convert(hostname):
command = subprocess.Popen(['host', hostname],
stdout=subprocess.PIPE).communicate()[0]
progress1 = re.findall(r'\d+.', command)
progress1 = ''.join(progress1)
return progress1
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
我正在尝试使用 python 获取 DNS 服务器 IP 地址。要在 Windows 命令提示符下执行此操作,我将使用
ipconfig-全部
如下所示:
我想使用 python 脚本做同样的事情。有什么方法可以提取这些值吗?我成功提取了设备的 IP 地址,但 DNS 服务器 IP 被证明更具挑战性。
如何将其转换为Python?正则表达式用于匹配ipv4地址,但是有更好的方法来匹配它吗?
if ($line =~ m{\s+id\s+(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}),\s+data\s+(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}),\s+Type Transit\s+(\d{1,2})}) {
$id = "$1.$2.$3.$4";
$data = "$5.$6.$7.$8";
}
我是 Python 的新手,想在下面的代码中获得帮助。我希望能够验证最终用户是否拥有有效 IP 地址的密钥。我在网上搜索,所有的例子都太复杂而无法理解,因此我在问。
如果可能的话,如果此人输入了无效值,则希望代码也循环返回。
input = 61.1.1.1
wanip = str(input("please key in WAN IP address:"))
Run Code Online (Sandbox Code Playgroud) 我的代码:
ipList = ["192.168.0.1", "sg1234asd", "1.1.1.1", "test.test.test.test"]
blackList = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "_", ","]
for ip in ipList:
for item in blackList:
if (item in ip) == True:
ipList.remove(ip)
else:
pass
print ipList
Run Code Online (Sandbox Code Playgroud)
从我能读到的这段代码来看,它应该只打印print ipList元素0和2,为什么我会ValueError: list.remove(x): x not in list在第6行给出?