Python으로 스크립트를 작성 중이며 파일에서 IP를 검색하고 바꿔야합니다 ....Python을 사용하여 파일에서 IP를 검색하는 방법은 무엇입니까?
어떻게 구현할 수 있습니까?
Python으로 스크립트를 작성 중이며 파일에서 IP를 검색하고 바꿔야합니다 ....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)
출처 : IPv4의 Regex Source
당신이 Regular-Expression.info에서 제공하는 정규식을 사용하여 해결합니다. 이렇게하면 IP 주소가 실제로 유효한지 확인할 수 있습니다.
IP 주소를 일치시키는 것은 정규식 복잡성과 정확성 간의 절충안의 또 다른 좋은 예입니다. \ b \ d {1,3}. \ d {1,3}. \ d {1,3}. \ d {1,3} \ b는 괜찮은 IP 주소와 일치하지만 999.999.999.999 마치 유효한 IP 주소입니다. 이것이 문제가되는지 여부는 정규식을 적용하려는 파일 또는 데이터에 따라 다릅니다. IP 주소의 4 자리 숫자를 모두 0..255로 제한하려면이 복잡한 짐승을 사용할 수 있습니다 : \ b (25 [0-5] | 2 [0-4] [0-9] | [01]? [0 [0-9] [0-9]?). (25 [0-5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) [0-5] | 2 [0-4] [0-9] | [01] [0-9] [0-9] 0-9] | [01]? [0-9] [0-9]?) \ b이 정규 표현식을 RegexBuddy (한 줄에있는 모든 것)로 분석하십시오. 긴 정규 표현식은 IP 주소의 4 개 숫자 각각을 캡처 그룹에 저장합니다. 이 그룹을 사용하여 IP 번호를 추가로 처리 할 수 있습니다.
개별 숫자에 액세스 할 필요가없는 경우 정규 표현식을 사용하여 정규식을 다음과 같이 줄일 수 있습니다. \ b (?:(?:(25):0 [0-4] [0- 9] | [01]? [0-9] [0-9]?)) {3} (?: 25 [0-5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) \ b이 정규식을 RegexBuddy로 분석하십시오. 마찬가지로 정규 표현식을 \ b (? : \ d {1,3}.) {3} \ d {1,3}로 줄여서 표현할 수 있습니다. RegexBuddy로 정규 표현식을 분석하십시오.
OK .... 어쨌든 이전 anwser에서 내 anwser있어 .. 어쨌든 고마워! – ant0nisk
부정 투표? – ant0nisk