如何使用Python在文件中搜索IP?

如何使用Python在文件中搜索IP?,python,file,search,ip,replace,Python,File,Search,Ip,Replace,我正在用Python编写一个脚本,我需要搜索并替换文件中的IP 有什么想法可以实现吗?Regex re.sub('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}','CENSORED_IP',data) 值得注意的是,这也与999.999.999.999等匹配。如果这是一个问题,你将不得不得到一个更复杂一点的正则表达式。此外,这只适用于IPv4地址 仅在有效的IP上: re.sub('(?:(?:25[0-5]|2[0-4][0-9]|[01]?[

我正在用Python编写一个脚本,我需要搜索并替换文件中的IP

有什么想法可以实现吗?

Regex

re.sub('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}','CENSORED_IP',data)
值得注意的是,这也与999.999.999.999等匹配。如果这是一个问题,你将不得不得到一个更复杂一点的正则表达式。此外,这只适用于IPv4地址

仅在有效的IP上:

re.sub('(?:(?: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]?)','CENSORED_IP',data)
来源:

正则表达式

re.sub('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}','CENSORED_IP',data)
值得注意的是,这也与999.999.999.999等匹配。如果这是一个问题,你将不得不得到一个更复杂一点的正则表达式。此外,这只适用于IPv4地址

仅在有效的IP上:

re.sub('(?:(?: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]?)','CENSORED_IP',data)

来源:

对于IPv4地址,您可以使用提供的正则表达式。这将确保您的IP地址实际有效

匹配IP地址是正则表达式复杂性和精确性之间权衡的另一个很好的例子\b\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\b可以很好地匹配任何IP地址,但也可以匹配999.999.999.999,就像它是一个有效的IP地址一样。这是否是一个问题取决于您打算应用正则表达式的文件或数据。为了将IP地址中所有4个数字的所有4个数字限制为0.255,你可以使用这个复杂的野兽来使用这个复杂的野兽来将IP地址中所有4个数字的所有4个数字的所有4个数字限制为0.255,把IP地址中所有4个数字的所有4个数字限制为0.255,你可以使用这个复杂的野兽来把IP地址中所有4个数字的所有4个数字限制为0.255,你可以使用这个复杂的野兽来使用这个复杂的野兽来使用这个复杂的野兽来把你可以使用这个复杂的野兽来使用这个复杂的动物:::::\b(你可以使用这个复杂的动物来把你可以使用这个复杂的动物:::\b(你可以使用这个复杂的动物:::\b(你可以使用这个复杂的动物::::\b(25[25[25[0[0[0[0[0[0[0[0-5[0-5[0-5[0-5[0-5[0-5[0-5[0-)。长正则表达式将IP地址的4个数字中的每一个存储到一个捕获组中。您可以使用这些组进一步处理IP号码

如果不需要访问单个数字,可以使用量词将正则表达式缩短为:\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(?:\d{1,3}。){3}\d{1,3}\b使用正则表达式分析此正则表达式


对于IPv4地址,可以使用提供的正则表达式。这将确保您的IP地址实际有效

匹配IP地址是正则表达式复杂性和精确性之间权衡的另一个很好的例子\b\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\b可以很好地匹配任何IP地址,但也可以匹配999.999.999.999,就像它是一个有效的IP地址一样。这是否是一个问题取决于您打算应用正则表达式的文件或数据。为了将IP地址中所有4个数字的所有4个数字限制为0.255,你可以使用这个复杂的野兽来使用这个复杂的野兽来将IP地址中所有4个数字的所有4个数字的所有4个数字限制为0.255,把IP地址中所有4个数字的所有4个数字限制为0.255,你可以使用这个复杂的野兽来把IP地址中所有4个数字的所有4个数字限制为0.255,你可以使用这个复杂的野兽来使用这个复杂的野兽来使用这个复杂的野兽来把你可以使用这个复杂的野兽来使用这个复杂的动物:::::\b(你可以使用这个复杂的动物来把你可以使用这个复杂的动物:::\b(你可以使用这个复杂的动物:::\b(你可以使用这个复杂的动物::::\b(25[25[25[0[0[0[0[0[0[0[0-5[0-5[0-5[0-5[0-5[0-5[0-5[0-)。长正则表达式将IP地址的4个数字中的每一个存储到一个捕获组中。您可以使用这些组进一步处理IP号码

如果不需要访问单个数字,可以使用量词将正则表达式缩短为:\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(?:\d{1,3}。){3}\d{1,3}\b使用正则表达式分析此正则表达式


好啊谢谢,我将检查您的anwser作为解决方案!非常感谢。好啊谢谢,我将检查您的anwser作为解决方案!非常感谢。为什么我会投反对票?为什么我会投反对票?