devskim blog
Search
⌨️

REGEX 문법 정리

sections
Tags
Utils
Created
Mar 23, 2023 06:00 AM
Last Updated
Jul 30, 2023 09:49 AM
 
 
Regex
문자
Name
Pronunciation
Details
Type
임의의 문자 한 개를 의미 >
BRE
반복
Name
Pronunciation
Details
Type
앞의 문자가 0개 혹은 1개 의미 > ,
ERE
앞의 문자가 0개 이상 반복 (곱하기 의미) > , , ,
BRE
앞의 문자가 1개 이상 반복 (덧셈 의미) > , ,
ERE
앞의 문자 상태 그대로일 수 있고, 뒤에 문자열이 추가할 수 있음 > , ,
{m, n}
{m} : m번 반복 / {m,} : m~무한대까지 반복 {,n} : 0~n번 이하 / {m, n} : m~n번 반복
ERE
^
해당 줄의 가장 앞 부분 의미 ^hello > hello로 시작하는 행
BRE
$
해당 줄의 가장 마지막 부분 의미 initialized…$ > initialized…로 끝나는 행
BRE
^$
비어있는 행
그룹
Name
Pronunciation
Details
Type
[]
지정된 그룹 중 한 문자 지정 [abcd] > a, b, c, d 중 하나 [0-9] > 0~9 사이의 숫자 중 하나 [a-zA-Z] > 알파벳 중 하나
BRE
[^]
지정된 그룹 이외의 나머지 지정 (여집합 의미) [^0-9] > 0~9 제외한 나머지 [0-9^] > 0~9. ^ 중의 하나
BRE
기타
Name
Pronunciation
Details
Type
\
, , { } 패턴 등의 메타문자의 의미 삭제 grep “p[abcd]\+ous /usr/share/dict/words
BRE
|
OR 연산 A|B|C > A 결과가 B의 입력 & B 결과가 C의 입력 후 C 결과 출력
ERE
( )
패턴의 그룹화 및 백레퍼런스(backreference, 역참조) 작동 (bar)+ > bar barbar barbarbar (barr은 포함되지 못함)
ERE
 
  • 참고
    • POSIX RE IEEE std 1003. 1 (International standard)
    • BRE Basic RE
    • ERE Extended RE
    • grep은 기본값으로 BRE 모드로 작동
      • 은 그대로 사용 가능
      • ERE인 , , {m, n} 패턴은 \을 추가해야 한다
      • egrep은 기본값으로 ERE 모드로 작동해서, 이를 활용하는게 편리하다
       
 
 
PREVMS Word 매크로
NEXT윈도우에서 리눅스 명령어 실행하기