본문 바로가기
Linux

POSIX 스타일 Regular Expression 에서 숫자 매칭 방법

by __observer__ 2018. 1. 28.
반응형

저는 컴퓨터 사용 시 정규표현식을 많이 사용하는 편입니다. 

처음 정규 표현식에 대해 공부할때 Perl을 사용하였습니다. 

그러다 보니 평소에 펄 스타일의 정규표현식을 주로 시도하는 편인데~ 오늘 알고보니 POSIX 에서는 일부 Perl 스타일의 정규표현식들이 정상적으로 동작하지 않더군요. 

Bash Shell 에서 정규표현식을 사용할 때 숫자를 매칭 할 때는 Perl 스타일로 \d 를 사용하면 안 된다는 것을 알게 되었습니다. 또한 word 를 매칭하는 경우도 \w 를 사용하면 안되더군요. 

위 내용을 비롯한 차이들은 아래 주소에서 확인 할 수 있습니다. 


https://en.wikipedia.org/wiki/Regular_expression#Character_classes


Bash Shell 에서 숫자를 매칭하는 경우에는 [0-9] 또는 [:digit:] 를 사용해야 하고~

워드를 매칭하고 싶은경우에는 \w 가 아닌 [A-Za-z0-9_] 를 사용해야 합니다. 

알파벳만 매칭하고 싶다면 [:alpha:] 나 [A-Za-z] 를 사용하면 됩니다.


반응형

댓글