Programming

정규표현식 (regular expression)

steloflute 2013. 6. 27. 23:30

http://blog.naver.com/juner84?Redirect=Log&logNo=100149882371

 

 

[정규표현식|Regular Expression] || [메타문자|Meta Character]


shell programming시 사용하면 편리한 정규표현식 정리


[위치]

^ : 행의 시작

$ : 행의 끝

\< : 단어 시작

\> : 단어 끝

"^$" : 빈줄


[문자 대응]

. : 한문자 대응

* : 0개 이상의 모든 문자 대응 "a*b"는 b, ab, aab aaab 모두 포함

+ : 1개 이상의 모든 문자 대응 "a+b"는 ab, aab, aaab 대응

? : 0개 또는 1개의 모든 문자 대응 "a?b"는 b, ab 만 대응

[ ] : 사이의 문자 집합에 속하는 한 문자 대응

ex) [A-Z] : 대문자 A부터 Z까지의 한문자 [a-z] : 소문자 a부터 z까지 한문자

[f-h] : 소문자 f부터 h까지 한문자

[^ ] : 사이의 문자 집합에 속하지 않는 한 문자 대응

ex) [^A-C] : 대문자 A부터 C까지에 속하지 않는 한 문자

[^x-z] : 소문자 x부터 z까지 속하지 않는 한문자


[선택]

| (pipe) : 파이프를 기준으로 앞뒤 내용 모두 선택 대응(or)

() : 표현식들을 묶어서 사용가능 a(bc|dc)ef 는 abcef, adcef 모두 대응

{n,m} : n개 이상 m개 이하의 문자와 대응 "a{1,3}b"는 "ab", "aab", "aaab"를 포함하지만, "b"나 "aaaab"는 포함하지 않음


[메타문자]

* : 0개 이상의 문자와 대응

? : 1개의 문자와 대응

[] : 내부의 문자 set과 대응 정규표현식 문자대응과 같은 내용

~ : 사용자의 홈디렉토리

` ` : backtick ` `안의 명령어는 실행 됨


<참고자료>

http://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D

http://dahinir.blog.me/

http://radiocom.kunsan.ac.kr/lecture/unix_cmd/metacharacter.html