1탄과 마찮가지로 역시 2002년도 작성글.
1탄은 기본적인 Replace에 대해 알아봤습니다.
이번엔 정규표현식에 대해 알아보겠는데요, 이미 PHP 등에서 겪어 보신 분들은
이 정규표현식이 얼마나 편리한 지 잘 아실 겁니다.
그것이 울트라에디트에서도 됩니다.
PHP로 말하자면 eregi_replace() 가 되는 셈이겠죠..
(아주 커다란 문서의 경우 PHP로 하기보다는 울트라 에디트로 하는 게 더 빠른...
물론 로컬 문서 작업의 경우입니다)
정규 표현식을 사용하려면 먼저 Replace 창의 Regular Expressions(2007년 추가 : 한글판에서는 "정규식"이라고 되어 있음)에 체크를 하시고
Find What에 표현식을 적어주시면 됩니다.
예제 1 :
m?n 는 m,아무 문자 하나,그리고 n을 의미합니다.
따라서 "man", "men", "min"은 참이지만 "moon" 과 같이 가운데 두 글자가 들어간 경우 거짓이 됩니다.
P.S 소스 정리를 하는데에 PHP로 프로그램을 짜서 돌렸었는데,
제가 못 짜서 그랬는지 속도도 느리고.. 울트라 에디트를 쓰면 번개같이 됩니다.
기본적으로 어떤 어떤 것들을 어떻게 정리하겠다... 라고 생각을 해 놓으신 후,
울트라 에디트의 매크로 기능을 통해 위의 정규표현식으로 바꿔치기를 하면
대규모의 소스를 아주 빠르게 정리해 낼 수 있습니다.
Replace : All Open Files 옵션이나 Replace In Files 를 쓰시면 다수의 화일을
원하는 대로 따르게 다듬어 버릴 수가 있죠.
그 외에도 엑셀에서 빼내온 데이타나 엑셀에 넣을 데이타 등을 만질 때도 Colimn Mode 까지
사용하신다면 최고의 효과를 보실 수 있을 겁니다.
에고... 사설이 길었네요. 고난도의 활용법이나.. 이런 것들도 나눴으면 좋겠는데..
다음번엔 매크로의 활용법을 한 번 적어볼께요.
참고 : \r\n 은 윈도우 개행문자 대체, \r은 유닉스, \n은 맥의 개행입니다.
1탄은 기본적인 Replace에 대해 알아봤습니다.
이번엔 정규표현식에 대해 알아보겠는데요, 이미 PHP 등에서 겪어 보신 분들은
이 정규표현식이 얼마나 편리한 지 잘 아실 겁니다.
그것이 울트라에디트에서도 됩니다.
PHP로 말하자면 eregi_replace() 가 되는 셈이겠죠..
(아주 커다란 문서의 경우 PHP로 하기보다는 울트라 에디트로 하는 게 더 빠른...
물론 로컬 문서 작업의 경우입니다)
정규 표현식을 사용하려면 먼저 Replace 창의 Regular Expressions(2007년 추가 : 한글판에서는 "정규식"이라고 되어 있음)에 체크를 하시고
Find What에 표현식을 적어주시면 됩니다.
표현 내용
% 행의 시작을 의미합니다. (개행문자 등 제외)
$ 행의 끝을 의미합니다 (개행문자 등 제외)
? 모든 형식의 한 글자를 의미 (개행문자 등 제외)
* 갯수에 상관 없이 모든 형식의 문자열을 의미 (개행문자 등 제외)
---> a*b => ab, acb, a9203823b 참, bac 거짓
+ 한 번 또는 두 번 이상의 선행 문자를 의미합니다
(a+ ==> fda, dsfaa, dsaaa dfaaaa 참. bdfdf 거짓)
^b Page Break를 의미합니다.
^p 역시 1탄의 설명대로 개행문자를 의미 (PHP의 \n)
^t 탭문자를 의미합니다.
[ ] 1글자 이상의 대괄호 내부 조건대로의 문자를 의미
^{A^}^{B^} "A 거나 B"를 의미
^ 이 뒤에 1~9 까지의 숫자를 써서 상단에 그룹으로 묶어 준 부분을
대체할 수 있습니다.
예를 들어 ^(h*o^) ^(f*s^)를 찾아서 ^2 ^1 로 바꿔라 라고 했다면
hello folks 같은 단어를 찾아서 folks hello 로 바꾸는 것이죠.
^( 과 ^) 는 그룹을 묶어 줄 때 쓰입니다.
% 행의 시작을 의미합니다. (개행문자 등 제외)
$ 행의 끝을 의미합니다 (개행문자 등 제외)
? 모든 형식의 한 글자를 의미 (개행문자 등 제외)
* 갯수에 상관 없이 모든 형식의 문자열을 의미 (개행문자 등 제외)
---> a*b => ab, acb, a9203823b 참, bac 거짓
+ 한 번 또는 두 번 이상의 선행 문자를 의미합니다
(a+ ==> fda, dsfaa, dsaaa dfaaaa 참. bdfdf 거짓)
^b Page Break를 의미합니다.
^p 역시 1탄의 설명대로 개행문자를 의미 (PHP의 \n)
^t 탭문자를 의미합니다.
[ ] 1글자 이상의 대괄호 내부 조건대로의 문자를 의미
^{A^}^{B^} "A 거나 B"를 의미
^ 이 뒤에 1~9 까지의 숫자를 써서 상단에 그룹으로 묶어 준 부분을
대체할 수 있습니다.
예를 들어 ^(h*o^) ^(f*s^)를 찾아서 ^2 ^1 로 바꿔라 라고 했다면
hello folks 같은 단어를 찾아서 folks hello 로 바꾸는 것이죠.
^( 과 ^) 는 그룹을 묶어 줄 때 쓰입니다.
예제 1 :
m?n 는 m,아무 문자 하나,그리고 n을 의미합니다.
따라서 "man", "men", "min"은 참이지만 "moon" 과 같이 가운데 두 글자가 들어간 경우 거짓이 됩니다.
예제 2 :
t*t 는 t, 그리고 갯수에 상관없는 문자열, 그리고 t 를 의미하니까
"tt", "test", "tonight" 이 참이 되며,
"tea time"과 같은 경우도 참이 되는데, 이 때 replace 에 걸리는 것은
tea time 이 아니라 tea t 가 됩니다.
"tea" 와 같은 경우는 거짓이겠죠
그리고,
tea
time
과 같이 개행문자가 사이에 들어간 경우엔 잡히지 않습니다.
t*t 는 t, 그리고 갯수에 상관없는 문자열, 그리고 t 를 의미하니까
"tt", "test", "tonight" 이 참이 되며,
"tea time"과 같은 경우도 참이 되는데, 이 때 replace 에 걸리는 것은
tea time 이 아니라 tea t 가 됩니다.
"tea" 와 같은 경우는 거짓이겠죠
그리고,
tea
time
과 같이 개행문자가 사이에 들어간 경우엔 잡히지 않습니다.
예제 3
:
Te+st 는 T와 한 개 이상의 e, 그리고 st를 의미하므로
Test, Teeeest, Teeeeeeeeeeeeeeeest 는 참이 됩니다.
하지만 tst 등은 거짓이겠죠.
Te+st 는 T와 한 개 이상의 e, 그리고 st를 의미하므로
Test, Teeeest, Teeeeeeeeeeeeeeeest 는 참이 됩니다.
하지만 tst 등은 거짓이겠죠.
예제 4
:
[aeiou] : 소문자로 된 영어 모음을 의미
[,.?] : ","나 "."나 "?"를 의미
[0-9, a-z] 숫자 혹은 소문자 영문자를 의미
[~0-9] 어떤 문자든지 숫자를 제외한 문자를 의미 (~ 는 부정의 뜻이죠)
[aeiou] : 소문자로 된 영어 모음을 의미
[,.?] : ","나 "."나 "?"를 의미
[0-9, a-z] 숫자 혹은 소문자 영문자를 의미
[~0-9] 어떤 문자든지 숫자를 제외한 문자를 의미 (~ 는 부정의 뜻이죠)
예제 5
:
^{John^}^{Tom^}
Find What 에 이것을 넣는다면 John 또는 Tom 을 찾아라가 됩니다.
^{John^}^{Tom^}
Find What 에 이것을 넣는다면 John 또는 Tom 을 찾아라가 됩니다.
예제 6 :
(A 또는 B) 그리고 (C 또는 D)를 찾아라도 되겠죠?
^{John^}^{Tom^} ^{Smith^}^{Jones^}
이것이 찾는 경우는 아래와 같습니다.
John Smith
John Jones
Tom Smith
Tom Jones
(A 또는 B) 그리고 (C 또는 D)를 찾아라도 되겠죠?
^{John^}^{Tom^} ^{Smith^}^{Jones^}
이것이 찾는 경우는 아래와 같습니다.
John Smith
John Jones
Tom Smith
Tom Jones
예제 7 :
제 경우엔 파워포인트, 엑셀 등의 테이블을 프론트페이지로 붙여넣었을 경우 소스에
쓸데 없는 style 태그나 span 태그 등을 지우는데 이 표현식을 썼는데요.
이런 식으로 썼습니다.
Find What : style="*"
Replace With :
일케 하면 모든 Style=" 로 시작하고 "로 끝나는 문구가 사라집니다.
또한
Find What : <span*>
Replace With :
일케 해주시면 모든 span 태그가 사라지겠죠
그리고,
Find What : <table*>
Replace With : <table border=1 cellpadding=0 cellspacing=0>
이렇게 해주면 모든 테이블이 통일 될 테구요.
제 경우엔 파워포인트, 엑셀 등의 테이블을 프론트페이지로 붙여넣었을 경우 소스에
쓸데 없는 style 태그나 span 태그 등을 지우는데 이 표현식을 썼는데요.
이런 식으로 썼습니다.
Find What : style="*"
Replace With :
일케 하면 모든 Style=" 로 시작하고 "로 끝나는 문구가 사라집니다.
또한
Find What : <span*>
Replace With :
일케 해주시면 모든 span 태그가 사라지겠죠
그리고,
Find What : <table*>
Replace With : <table border=1 cellpadding=0 cellspacing=0>
이렇게 해주면 모든 테이블이 통일 될 테구요.
P.S 소스 정리를 하는데에 PHP로 프로그램을 짜서 돌렸었는데,
제가 못 짜서 그랬는지 속도도 느리고.. 울트라 에디트를 쓰면 번개같이 됩니다.
기본적으로 어떤 어떤 것들을 어떻게 정리하겠다... 라고 생각을 해 놓으신 후,
울트라 에디트의 매크로 기능을 통해 위의 정규표현식으로 바꿔치기를 하면
대규모의 소스를 아주 빠르게 정리해 낼 수 있습니다.
Replace : All Open Files 옵션이나 Replace In Files 를 쓰시면 다수의 화일을
원하는 대로 따르게 다듬어 버릴 수가 있죠.
그 외에도 엑셀에서 빼내온 데이타나 엑셀에 넣을 데이타 등을 만질 때도 Colimn Mode 까지
사용하신다면 최고의 효과를 보실 수 있을 겁니다.
에고... 사설이 길었네요. 고난도의 활용법이나.. 이런 것들도 나눴으면 좋겠는데..
다음번엔 매크로의 활용법을 한 번 적어볼께요.
참고 : \r\n 은 윈도우 개행문자 대체, \r은 유닉스, \n은 맥의 개행입니다.
'Lab > etc.' 카테고리의 다른 글
| Apollo Extensions for Flex Builder (0) | 2007/04/20 |
|---|---|
| UltraEdit에서 문자열 변환 2 (정규표현식 사용) (0) | 2007/03/02 |
| UltraEdit에서 문자열 변환 1 (0) | 2007/03/02 |

이올린에 북마크하기
이올린에 추천하기
Prev
Rss Feed