我一直试图获得有效的IPv4验证正则表达式,但没有太多运气.似乎我曾经有过它(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}
,但它会产生一些奇怪的结果:
$ grep --version
grep (GNU grep) 2.7
$ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.1.1
192.168.1.1
$ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.1.255
192.168.1.255
$ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.255.255
$ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.1.2555
192.168.1.2555
Run Code Online (Sandbox Code Playgroud)
我做了一个搜索,看看是否已经被问及回答,但其他答案似乎只是显示如何确定4组1-3个数字,或者不适合我.
有任何想法吗?谢谢!
我想做类似以下的事情:
...
pixel[0,0] = [ 254, 0, 0 ] # Draw R at pixel x0y0
pixel[2,1] = [ 0, 254, 0 ] # Draw G at pixel x2y1
pixel[4,2] = [ 0, 0, 254 ] # Draw B at pixel x4y2
...
Run Code Online (Sandbox Code Playgroud)
我希望在很短的时间内显示许多不同的像素和颜色配置 - 写入中间文件会太昂贵.
我应该如何最好地在Python中实现这一目标?
如何在python中打印时填充列表?
例如,我有以下列表:
mylist = ['foo', 'bar']
Run Code Online (Sandbox Code Playgroud)
我想用逗号将这个填充打印到四个索引.我知道我可以执行以下操作将其作为逗号和空格分隔列表:
', '.join(mylist)
Run Code Online (Sandbox Code Playgroud)
但是如何用'x'将它填充到四个索引,所以输出如下:
foo, bar, x, x
Run Code Online (Sandbox Code Playgroud)