파일의 모든 IP 주소를 찾고 싶습니다. 문제는 주소 127.0.0.1을 제외해야한다는 것입니다. 나는 리눅스 bash에서 grep을 사용하고있다. 여기 내가 이미 가지고있는 것입니다 :루프백을 제외한 IP를 잡는 정규식 필요
[0-9]+.\.[0-9]+\.[0-9]+\.[0-9]+
파일의 모든 IP 주소를 찾고 싶습니다. 문제는 주소 127.0.0.1을 제외해야한다는 것입니다. 나는 리눅스 bash에서 grep을 사용하고있다. 여기 내가 이미 가지고있는 것입니다 :루프백을 제외한 IP를 잡는 정규식 필요
[0-9]+.\.[0-9]+\.[0-9]+\.[0-9]+
이 할 것입니다 : 내가 {1,3}
로는 수량을 변경 한 http://regexr.com/3g3ov
^(?!127\.0{1,3}\.0{1,3}\.0{0,2}1$)((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]?)$
테스트합니다. (?!127\.0{1,3}\.0{1,3}\.0{0,2}1$)
당신은 127.0.0.1
가
((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}
과 함께 처음 세 자리 그룹이다 (결국 일부 0
패딩)이 없어야한다는 것을 의미 자신의 .
, (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
가 마지막 숫자 그룹입니다.
그리고 처음에는 ^
정규식을 고정하고 문자열은 $
으로 끝납니다.
당신이 (그래서 127.*.*.*
) 모든 루프백을 제외 할 경우
^(?!127)((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]?)$
두 개의 정규 표현식에이 http://www.regular-expressions.info/examples.html 정규 표현식 마이너스 비 캡처 그룹에 대한 부분을 기반으로 http://regexr.com/3g3os
테스트합니다.
여기에 내가 자리의 첫 번째 그룹은 127
((?!127)
)
이 정규식이 완료되면 그것은 256.256.256.256
같은 것들을 허용하지 않습니다 아니라는 것을에만 테스트해야하지만 IPv4의 만입니다.
사실, 모든 서브넷 127.0.0.0/8은 루프백을 위해 예약되어 있습니다 (그래서, 127.45.78.32은 루프백 주소)입니다.
^127\.
을하고 정상 IP 정규식과 일치하는 경우 다음 확인 : 따라서, 먼저 확인하는 데 필요한 정규 표현식을 통해 문제를 해결하기 위해, 그 입력 문자열이 일치하지 않습니다.
무엇을 시도 했습니까? 어떤 정규식의 맛을 사용하고 있습니까? 또한 도트를 이스케이프 처리해야합니다. 힌트 : 부정적인 선견자를 사용하십시오. – HamZa
@HamZa 그는 우리에게 그가 시도한 것을 보여주었습니다. – arshajii
당신은 어떤 언어를 사용하고 있습니까? – SmokeyPHP