2009-05-11 6 views
1

& 검색을 사용하여 UltraEdit (Perl Compatible Regular Expressions)의 대화 상자를 대체하여 IP 목록을 표준 형식으로 포맷하십시오.모든 IP 주소를 3 자리 숫자로 포맷하십시오

목록이 포함되어 있습니다

192.168.1.1 
123.231.123.2 
23.44.193.21 

그것은 다음과 같은 포맷해야합니다

192.168.001.001 
123.231.123.002 
023.044.193.021 

PCRE 포맷에서 IPv4의 http://www.regextester.com/regular+expression+examples.html 정규 표현식 제대로 작동하지 않습니다 :

^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]){3}$ 

내가 갇혔다. 아무도 UltraEdit에서 작동하는 적절한 솔루션을 가지고 있습니까?

미리 감사드립니다.

답변

3

세트 (고급 섹션) 펄의 정규 표현식 엔진이 대체 :이와

(?<!\d)(\d\d?)(?!\d) 

:

0$1 

두 번. 그렇게해야합니다.

0

UltraEdit의 바꾸기 상자에서 정규식을 사용하는 방법을 잘 모르겠습니다.

^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$ 
1

귀하의 의견은 하나의 IP 주소 (한 줄에) 아무것도 다른 (다른 텍스트) 인 경우이 방법을 작동합니다 :

당신은 당신의 문자열을 찾으려면이 정규 표현식을 사용할 수 있습니다

Replace (?<!\d)(?=\d\d?(?=[.\s]|$)) 
with 0 

마찬가지로 종종 일치로 대체 :

는 펄 스타일의 정규 표현식 "모두 바꾸기"사용. 다른 텍스트가 있으면 상황이 더 복잡해집니다. 어쩌면 "열에서 검색"옵션은 CSV를 다루는 경우에 유용합니다. 이 작업을 청소 단지 일회성 데이터 인 경우

+0

Ultra-Edit v.14.20을 사용해 보았지만 제대로 작동하지 않았습니다. 왜 그런가? – Vadim

+0

시도하기 전에 "펄"정규 표현식으로 전환 했습니까? – Tomalak

1

, 나는 종종 단지 것은 이러한 유형의 Excel 또는 오픈 오피스 캘크를 사용

  1. 이 TEXTFILE을 열고 줄에 반드시 하나의 IP 주소를 확인합니다.
  2. Excel을 열거 나 "데이터 | 외부 데이터 가져 오기"로 이동 한 다음 "."을 사용하여 텍스트 파일을 가져옵니다. 분리기로서.
  3. 이제 Excel에서 4 열을 가져야합니다.

    192 | 168 | 1 | 1

  4. 각 열을 마우스 오른쪽 버튼으로 클릭하고 3 자리 숫자와 0으로 시작하는 숫자로 포맷하십시오.

  5. 5 열에서 이전 열의 문자열 연결을 "." 각 열 사이에 : A1 & "." & B1 & "." & C1 & "." & D1

이 분명 저렴하고 더러운 수정 프로그램이 다루는 프로그래밍 방법이 아니다, 그러나 나는 모든 이제 다음 데이터를 정화 기술의 이러한 종류의 유용.

+0

Hehe 정확히 내가이 질문 스레드를 열 전에했는지;) – Underlines

관련 문제