정규식은 보통 텍스트에 덧붙여서 확장된 검색 옵션을 지정하는 특수한 기호들을 포함합니다. 정규식을 이용하면 보다 정교하게 텍스트를 검색할 수
있습니다
예를 들어 "[0-9]"와 같은 정규식을 지정하면 숫자만을 검색합니다. 비슷한 예로 "[^0-9]"와 같은 정규식을 지정하면 숫자가 아닌 글자만을 검색합니다.
에디트플러스에서는 다음과 같은 정규식을 찾기와 바꾸기, 여러 파일 찾기 명령에서 지원합니다.
태그로 표시된 식은 ()로 둘러 싼 식을 말합니다. 태그로 표시된 식은 \0, \1, \2, \3등과 같은 식을 사용하여 바꿀 말 항목에서 지정할 수 있습니다. \0은 일치된 텍스트 전체를 나타내고 \1은 첫 번째 태그로 표시된 부분을 나타내고 \2는 두 번째, 이런 식으로 지정할 수 있습니다. 다음의 예를 참고하십시오.
Original Search Replace Result
abc (ab)(c) \0-\1-\2 abc-ab-c
abc a(b)(c) \0-\1-\2 abc-b-c
abc (a)b(c) \0-\1-\2 abc-a-c
예를 들어 "[0-9]"와 같은 정규식을 지정하면 숫자만을 검색합니다. 비슷한 예로 "[^0-9]"와 같은 정규식을 지정하면 숫자가 아닌 글자만을 검색합니다.
에디트플러스에서는 다음과 같은 정규식을 찾기와 바꾸기, 여러 파일 찾기 명령에서 지원합니다.
식 | 설명 |
\t | 탭 문자를 찾습니다. |
\n | 줄 바꿈 문자를 찾습니다. |
. | 모든 문자를 찾습니다. |
| | 이 기호의 양쪽에 있는 두 글자를 모두 찾습니다. 예를 들어 "a|b"를 지정하면 "a"와 "b"를 모두 찾습니다. |
[] | 대괄호 범위의 모든 문자를 찾습니다. 예를 들어 "[ab]"를 지정하면 "a"와 "b"를 모두 찾습니다. 또 "[0-9]"를 지정하면 0부터 9까지의 모든 숫자를 찾습니다. |
[^] | 대괄호 범위의 모든 문자를 제외한 문자를 찾습니다. 예를 들어 "[^ab]"를 지정하면 "a" 와 "b"를 제외한 모든 문자를 찾습니다. 그리고 [^0-9]"를 지정하면 숫자가 아닌 모든 문자를 찾습니다. |
* | 별표 왼쪽에 있는 문자가 0번 또는 그 이상 일치하는 텍스트를 찾습니다. 예를 들어 "be*"를 지정하면 "b"와 "be", "bee"를 찾습니다. |
+ | 플러스 기호 왼쪽에 있는 문자가 1번 또는 그 이상 일치하는 텍스트를 찾습니다. 예를 들어 "be+"를 지정하면 "be" 와 "bee"를 찾지만 "b"는 찾지 않습니다. |
? | 물음표 왼쪽에 있는 문자가 0번 또는 1번 일치하는 텍스트를 찾습니다. 예를 들어 "be?"를 지정하면 "b" 와 "be"를 찾지만 "bee"는 찾지 않습니다. |
^ | ^기호 오른쪽에 있는 문자가 줄의 처음 글자인 경우를 찾습니다. 예를 들어 "^A"를 지정하면 줄의 처음 글자가 "A"인 경우를 찾습니다. |
$ | $기호 왼쪽에 있는 문자가 줄의 마지막 글자일 경우를 찾습니다. 예를 들어 "e$"를 지정하면 줄의 마지막 글자가 "e"인 경우를 찾습니다. |
() | 식을 해석하는 순서를 바꾸거나 식을 태그로 표시할 때 사용합니다. |
\ | 이스케이프 문자로 쓰입니다. "\" 문자 자체를 검색하려면 "\\"로 나타내어야 합니다. |
태그로 표시된 식은 ()로 둘러 싼 식을 말합니다. 태그로 표시된 식은 \0, \1, \2, \3등과 같은 식을 사용하여 바꿀 말 항목에서 지정할 수 있습니다. \0은 일치된 텍스트 전체를 나타내고 \1은 첫 번째 태그로 표시된 부분을 나타내고 \2는 두 번째, 이런 식으로 지정할 수 있습니다. 다음의 예를 참고하십시오.
Original Search Replace Result
abc (ab)(c) \0-\1-\2 abc-ab-c
abc a(b)(c) \0-\1-\2 abc-b-c
abc (a)b(c) \0-\1-\2 abc-a-c
aaa|bbb|ccc|{ddd|eee|fff}|ggg|hhh
aaa|bbb|ccc|{ddd|eee|fff}|ggg|hhh
aaa|bbb|ccc|{ddd|eee|fff}|ggg|hhh
aaa|bbb|ccc|{ddd|eee|fff}|ggg|hhh
aaa|bbb|ccc|{ddd|eee|fff}|ggg|hhh
와 같은 데이터가 있습니다. 이 중에서 {} 안에 있는 문자 중에 |(파이프)를 ,(콤마)로 바꾸고 싶다면
전체 바꾸기로는 불가능하므로 정규식을 이용해야 합니다.
찾을 말 : {(.*)\|(.*)\|(.*)}
바꿀 말 : {\1,\2,\3}
{(.*)\| : {로 시작해서 |(파이프) 전까지 글자가 \1(첫번째)로 치환됩니다.
(.*) : 가운데 \2(두번째)로 치환됩니다.
\|(.*)} : |(파이프)로 시작해서 } 로 끝나는 사이의 글자가 \3(세번째)로 치환됩니다.
|(파이프)는 \| 이렇게 표현해야 일반 문자로 인식합니다.
결과는
aaa|bbb|ccc|{ddd,eee,fff}|ggg|hhh 이렇게 치환됩니다.
수십만건의 데이터를 한번에 치환이 가능합니다. 하루종일 삽질해야 하는 작업이 단 몇분만에 처리가 됩니다.
정규식을 좀더 익혀두면 손으로 하나씩 바꿔야 하는 삽질을 줄일 수 있습니다.
style="width:230px;"
style="width:30px;"
style="width: 230px;"
찾을 말 : "width:(.*);"
바꿀 말 : "width:\1px;"