Skip to content
맨 위로 돌아가기

# 정규 표현식

정규 표현식 은 텍스트에서 특정 패턴이 나타나는지 여부를 판단하는 데 사용할 수 있는 문자열의 패턴을 설명합니다.

TreeSize에서는 정규식을 사용하여 정규식으로 지정된 조건과 일치하는 특정 파일 및/또는 폴더를 찾을 수 있습니다. ` 특수 문자 목록 <https://www.jam-software.com/redirects/?regex_syntax_info>`_ 이 지원됩니다.

다음 표에는 가장 많이 사용되는 구문과 몇 가지 예가 나와 있습니다:

표현식 | 구문 | 설명 | 예
--- | --- | --- | ---
모든 캐릭터 | `.` | 줄 바꿈을 제외한 모든 단일 문자를 일치시킵니다. | `a.o` 는 ‘around’의 ‘aro’와 ‘about’의 ‘abo’와 일치하지만 ‘across’의 ‘acro’와는 일치하지 않습니다.
0 이상 | `*` | 앞의 표현식이 0개 이상 일치하는 경우, 가능한 모든 일치 항목을 만듭니다. | `a*b` 는 “bat” 의 “b” 및 “about” 의 “ab” 와 일치합니다. 는 “enterprise” 라는 단어와 일치합니다 `e.*e*`.
하나 이상의 | `+` | 앞의 표현식과 적어도 한 번 이상 일치합니다. | `ac+` 는 문자 “a” 와 “c” 가 하나 이상 포함된 단어(예: “race” 및 “ace” )와 일치합니다. 는 “access” 라는 단어와 일치합니다 `a.+s`.
문자열 시작 | `^` | 문자열의 시작 부분을 일치시킵니다. | `^[0-9]` 는 숫자로 시작하는 문자열과 일치합니다.
문자열 끝 | `$` | 문자열의 끝을 일치시킵니다. | `exe$` 는 “exe”로 끝나는 문자열과 일치합니다.
단어의 시작 | `[[:<:]]` | 텍스트의 이 지점에서 단어가 시작될 때만 일치합니다. | `[[:<:]]in` 은 ‘in’으로 시작하는 ‘inside’, ‘into’ 등의 단어와 일치합니다.
단어 끝 | `[[:>:]]` | 단어가 텍스트에서 이 지점에서 끝날 때만 일치합니다. | `ss[[:>:]]` 는 ‘ss’로 끝나는 ‘across’, ‘loss’와 같은 단어와 일치합니다.
세트의 모든 캐릭터 | `[]` | [] 안에 있는 문자 중 하나에 일치합니다. 문자 범위를 지정하려면 [a-z]와 같이 시작 문자와 끝 문자를 대시(-)로 구분하여 나열합니다. | `be[n-t]` 는 ‘사이’의 ‘bet’, ‘아래’의 ‘ben’, ‘옆’의 ‘bes’와 일치하지만 ‘아래’의 ‘bel’과는 일치하지 않습니다.
세트에 없는 문자 하나 | `[^...]` | 뒤에 오는 `^` 문자 집합에 없는 문자를 일치시킵니다. | `be[^n-t]` 는 ‘before’의 ‘bef’, ‘behind’의 ‘beh’, ‘below’의 ‘bel’과 일치하지만 ‘beneath’의 ‘ben’과는 일치하지 않습니다.
또는 | `|` | OR 기호(|) 앞의 표현식 또는 뒤의 표현식과 일치합니다. 주로 그룹에서 사용됩니다. | `(스펀지|진흙)` 는 ‘스펀지 목욕’과 ‘진흙 목욕’과 일치합니다.
이스케이프 문자 | `\` | 백슬래시(`\`) 다음의 문자를 리터럴로 매칭합니다. 이를 통해 `{` 및 `^` 와 같은 정규 표현식 기호를 찾을 수 있습니다. | `\^` 는 `^` 문자를 검색합니다.
N회 반복 | `{n}` | 앞의 표현식과 일치하는 개수 n 개를 일치시킵니다. | `[0-9]{4}` 는 4자리 시퀀스와 일치합니다.
그룹화 | `()` | 표현식 집합을 함께 그룹화할 수 있습니다. 한 번의 검색으로 두 개의 서로 다른 표현식을 검색하려는 경우 그룹화 표현식을 사용하여 결합할 수 있습니다. | `[a-z][1-3]` 또는 `[0-9][a-z]` 를 검색하려면 이를 조합하면 됩니다: `([a-z][1-3])|([0-9][a-z])`.

## 더 많은 예제

정규 표현식 | 사용 사례
--- | ---
`[0-9]` 또는 `\d` | 이름에 숫자가 한 자리 이상 포함된 모든 파일/폴더를 찾습니다.
`a|b` | 이름에 “a” 또는 “b”가 포함된 모든 파일/폴더를 찾습니다.
`[^(A-Za-z)]` | 이름에 A-Z 또는 a-z 범위에 속하지 않는 문자가 하나 이상 포함된 모든 파일/폴더를 찾습니다.
`^E[0-9]{7}$` | ‘E’로 시작하고 그 뒤에 정확히 7자리 숫자가 오는 모든 파일/폴더를 찾습니다.
`[A-Za-z]:\\([^\\]+\\){2,4}[^\\]+$` | 폴더 깊이가 최소 2에서 최대 4인 모든 파일/폴더를 찾습니다.
`[^\x00-\x7F]` | 잘못된 ASCII 문자가 있는 모든 파일/폴더를 찾습니다.
`[^\P{C}]` | 인쇄할 수 없는 유니코드 문자가 있는 모든 파일/폴더를 찾습니다.
`[\xA0]` | 일반 공백 문자 대신 깨지지 않는 공백 문자(유니코드 NOBR, U+00A0)가 포함된 모든 파일/폴더 이름을 찾습니다.
`[~\""#%&\*\:<>\?\/\\{|}]` | SharePoint 서버에서 유효하지 않은 문자가 포함된 모든 파일 및 폴더 이름을 찾습니다.
`^\s+.*` | 선행 공백이 있는 모든 파일과 폴더를 찾습니다.
`\s+(\.[^.]+)$` | 이름 끝에 후행 공백이 있는 확장자를 가진 파일을 찾습니다.
`.*\s+$` | 폴더 이름 끝에 공백이 있는 폴더를 찾습니다.

## 정규 표현식을 만들기 위한 도구

https://regex101.com/(온라인)

http://regexpal.com/(온라인)

http://sourceforge.net/projects/regexpeditor/ (다운로드)

http://sourceforge.net/projects/regextester/ (다운로드)

http://sourceforge.net/projects/regaxe/ (다운로드)