[정규식]
^x : 문자열이 x로 시작
x$ : 문자열이 x로 끝남
.x : 임의의 한 문자를 표현(x가 마지막으로 끝남)
x+ : x가 1번이상 반복한다.
x? : x가 존재하거나 존재하지 않음.
x* : x가 0번이상 반복
x|y : x 또는 y를 찾음.
(x) : ()안의 내용을 캡쳐하여, 그룹화 한다.
(x)(y) : 그룹화 할 때, 자동으로 앞에서부터 1번부터 그룹번호를 부여해서 캡쳐합니다. 결과값에 그룹화한 Data가 배열 형식으로 그룹번호 순서대로 들어갑니다
(x)(?:y) : 캡쳐하지 않는 그룹을 생성할 경우 ?:를 사용한다. 결과값 배열에 캡쳐하지 않는 그룹은 들어가지 않는다.
x{n} : x를 n번 반복한 문자를 찾습니다.
x{n,} : x를 n번이상 반복한 문자를 찾습니다.
x{n,m} : x를 n번이상 m번이하 반봇한 문자를 찾습니다.
[xy] : x,y 중 하나를 찾는다.
[^xy] : x,y를 제외하고 문자 하나를 찾는다.
[x-z] : x~z 사이의 문자중 하나를 찾는다.
\^ : ^(특수문자)를 식에 문자 자체로 포함한다.
\b : 문자와 공백사이의 문자를 찾는다.
\B : 문자와 공백사이가 아닌 값을 찾는다.
\d : 숫자를 찾는다.
\D : 숫자가 아닌 값을 찾는다.
\s : 공백문자를 찾는다.
\S : 공백이 아닌 문자를 찾는다.
\t : Tab 문자를 찾는다.
\v : Vertical Tab문자를 찾는다.
\w : 알파벳 + 숫자 + )를 찾는다.
\W : 알파벳 + 숫자 + _을 제외한 모든 문자를 찾는다.
[:alnum:] 알파벳과 숫자를 찾는다.
[:alpha:] 알파벳을 찾는다.
[:digit:] 0-9사이의 숫자를 찾는다.
[:lower:] 알파벳 소문자를 찾는다.
[:upper:] 알파벳 대분자를 찾는다.
[:blank:] 탭과 공백문자를 찾는다.
g(Global) : 패턴에 맞는 모든 문자 찾기
i(ignore Case) 대소문자 무시
m(Multi line) : 여러 줄
- ^: 행의 시작을 가리킵니다.
곧 숫자로 시작하는 행은 다음과 같이 표현됩니다.
^d.+
- [] : 대괄호는 포함된 문자들 중 하나와 매치하는 문자를 나타냅니다. 즉 [abc]라고 쓰면 a, b, c 중의 한 글자라고 보면 됩니다. 물론 [a-z]와 같이 하이픈을 넣어서 범위 전체를 지정해줄 수 있습니다.
[0-9]라고 적으면 한 글자의 숫자를 뜻합니다.
- [^abc]: []속에 들어간 ^표시는 이 대괄호에 포함된 글씨는 제외한다는 뜻입니다.
즉 S[^cde]m 이라는 정규식은 Sam, Sbm은 매치하지만 Scm, Sdm은 매치하지 않습니다.
- $ : 행의 끝을 말합니다.즉 숫자로 끝나는 행은 ^.+[0-9]$와 같이 표현합니다.
- . : 마침표는 임의의 한 글자에 해당합니다.
- + : 어떤 문자 뒤에 붙어서 해당하는 문자가 1개 이상, 여러개라는 뜻입니다.
d+라고 하면 1, 123141, 2513452345234등 길이에 무관하게 연속된 숫자를 찾습니다.
- * : X와 비슷하게 어떤 문자 뒤에 붙어서 그 문자가 0개 이상이라는 뜻을 나타냅니다. +는 그 문자가 반드시 한번은나오지만 *는 문자가 나오지 않아도 상관없습니다.
sa+m은 sam, saam, saaaaaam에 매치됩니다만 sm에는 매치되지 않습니다. 하지만 sa*m은 sm에도 매치됩니다.
- \d : 한 글자의 숫자를 말합니다. (digit) [0-9]와 같습니다.
- \w : 한 글자의 문자로 영문대소문자 및 숫자와 밑줄에 해당합니다.. [a-zA-Z0-9_]와 같습니다.
- \s : 한 칸의 공백을 의미합니다.
- \ : 백 슬래쉬는 이스케이프 문자를 뜻합니다. 즉 ^, [, .과 같은 특수한 의미를 가지는 문자들을 글자 그대로 찾을 때 사용합니다.
\[abc\]라고 입력하면 a,b,c 중의 한 글자가 아닌 [abc] 자체에 매치됩니다.
> 예제
[2020-08-26 14:56:48] PI Change : >>HPBA-Q0729<<, 1
- HPB.+-[Q]\d{4}
1. HPB.+ : 'HPB'로 시작하고 '.+'
는 하나의 임의의 문자 즉 'HPBA' 나 'HPBZ' 같이 하나의 문자가 온다는 뜻
2. '-' : - 가 오고
3. [Q] : []안의 한 문자 선택, Q 밖에 없어니 Q 선택
4. \d{4} : 한글자의 숫자 가 4개 반복
- >>Line 394 : [21:44:07<< Oct 12 Fri] @0x3924004E|JVM| Free Memory: Heap [ 2368340/ 6291456], Native[ 7299824/32505856]
- L.+\[\d{2}:\d{2}:\d{2}
1. L.+ : L로 시작하고 1자 이상
2. \[ : '['로 시작
3. \d{2} : 숫자 2자리
- PS >>512G<<+DE 48G 1-MCP 256
- \d+G
1. \d+G : 숫자 1자리 이상반복되고, 'G'로 끝남.
> 예제
정규식 패턴 : ^\w-[\d]+
A-285
A-285-L
A-285-H
A-285HH
A-285HH-1
A-286
A-286HH-1
A-287
A-288
A-289
A-400UH
'App' 카테고리의 다른 글
Mybatis 사용법 - foreach문 사용 (파라미터: table) (0) | 2022.10.05 |
---|---|
Compare hash bytes of two files (0) | 2011.06.09 |
how-to-create-thumbnail-of-video-using-c (0) | 2010.06.11 |
C# Sample Codes and Examples .. using media handler pro (0) | 2010.06.01 |
[wpf]only numeric input allow at textbox (0) | 2010.02.24 |