0468. [perl] perl 정리5 - 정규표현 (regular expression)
정규표현식은 Shell 메타문자와 용법이 다소 다르다 . 임의의 한문자 - 행바꿈은 제외 * 0회 이상 반복 + 1회 이상 반복 ? 0회 또는 1회 반복 [ ? 은 앞의문자가 있거나 또는 없거나 임. = 이는 비교문?A:B 구문과 유사] ^ 선두 $ 말미 {n,m} n회이상 반복 m회 이하반복
특수문자 \w [0-9a-zA-Z_] 영문자,숫자와 _언더바 : word 워드로 기억 \W [^0-9a-zA-Z_] 영문자,숫자와 _언더바 이외 \s [\t\n\r\f] 공백 (반각 스페이스 탭 개행) : string 스트링 문자 공백문자로 기억 \S [^\t\n\r\f] 공백이외 \d [0-9] 숫자 : decimal 숫자로 기억 \D [^0-9] 숫자이외
패턴매칭 =~ / 패턴매칭 /; 매치한다 !~ / 패턴매칭 /; 매치하지 않는다 패턴매칭을 수행하는 문자열이 $_ 에 저장되어 있는 경우는 $_ =~ 는 생략할 수 있다
반복 횟수가 정해져 있지 않은 메타문자 * + ? {n,} {n,m} 을 사용한 경우에는 매치하는 문자열 가운데서 가장 긴 문자열과 매치 됩니다. 메타문자 뒤에 ? 를 붙이면 가장 짧은 문자열과 매치됩니다.
특수변수 $& 문자열이 패턴과 매치하는 경우 매치된 문자열 전체가 $& 라는 특수변수에 저장 됨. $1 $2 첫번째 두번째 그룹매칭 () 로 감싼다
매치연산자 옵션 g 매치하는것 모두 찾는다 i 대문자 소문자 구별하지 않는다 m 문자열을 복수행으로 취급한다 s 문자열을 단일행으로 취급한다. x 패턴 내에 포함되는 반각 스페이스를 무시한다
변환연산자 옵션 tr/ / 변환연산자 tr 은 한문자씩 변환합니다.
예) [^ ]+?\. -설명 . 으로 끝나는 가장 짧은 문자열 s/(grape)?fruit/grapefruit/g -설명 grape 가 있거나 또는 없거나 /\d/g -설명 수치를(숫자) 검색 |