Linux

[Linux] 정규 표현식

MAYMIN 2024. 11. 3. 20:04
728x90
SMALL

🍧 리눅스 명령어 사용시 유용한 정규 표현식

기호 의미 사용 예 설명
^ 라인의 첫 글자 ^a a로 시작하는 문자
$ 라인의 끝 글자 a$ a로 끝나는 문자
. * 기호 바로 이전의 글자나 정규 표현식이 0회 이상 반복 a..b a와 b 사이에 3개의 문자가 들어있는 단어
* - 대체 글자 목록을 []에 나열
- "-" 로 문자의 범위 지정
abc* c가 0번 이상 반복
ex. ab,abc,abcc,abccc 등
[] - 대체 못할 글자 목록을 [^] 에 나열
- "-" 로 문자의 범위 지정
[abc]d -ad,bd,cd를 뜻함
- a,b,c 중 어떤 한 글자라도 반드시 있는 단어
-"[a-z]": a부터 z까지 중 하나의 문자
-"[1-9]" : 알파벳 소문자로 시작하지 않는 모든 문자
[^] + 기호 바로 이지ㅓㄴ 글자나 정규 표현식이 1회 이상 반복 [^abc]d -ad,bd,cd는 포함하지 않고 ed, fd등을 포함
-[^a-z] : 알파벳 소문자로 시작하지 않는 모든 문자
+ ? 기호 바로 이전 글자나 정규 표현식이 없거나 1회만 존재 abc + c가 1회 이상 반복
ex.abc,abcc,abccc등
? 부분 정규 표현식의 시작과 끝을 표시 abc? c가 없거나 한 번만 존재
ab,abc
{} | 로 구분된 단어들 중 최소 하나 존재 a(bc)*
a(bc)+
a(bc)?
- bc가 0회 이상 반복 : a,abc,abcbc 등
- bc가 1회 이상 반복 :abc,abcbc 등
- bc가 있거나 없거나 : a, abc
| {} 기호 바로 이전 글자나 정규 표현식이 m개 이상 n 개 이하 반복 a(b|c) b또는c가 최소 하나 존재
ex. ab,ac,abc,acb
{m,n}   a(1,3)b 'ab', 'aab','aaab'를 포함하지만, 'b'나 'aaaab'는 포함하지 않음
728x90
LIST