메뉴 건너뛰기

Regular expression 정규식 참고자료

Average Rating:
8.0/10 1명 참여
Rate this page:
일본어선생 (8)  
평점 한줄평 글쓴이 작성날짜
8
0 일본어선생 (4) 02/03 20:18

참고 : http://www.nextree.co.kr/p4327/



그룹화를 도식으로 분석 : http://regexper.com/


소스를 가지고 직접 테스트 : http://regexr.com/




 .* 과 .*? 은 일반적으로 많이 쓰이는 정규표현식 패턴이다.
 . 은 "줄바꿈문자"를 제외한 아무 문자나 1개를 가리킨다.
 * 은 Greedy 방식으로, 바로 앞에 있는 문자가 0개 또는 그 이상 있는 것 중, 가능한 최대의 것을 가리킨다.
 *? 은 Lazy방식으로, 바로 앞에 있는 문자가 0개 또는 그 이상 있는 것 중, 가능한 최소의 것을 가리킨다.
 .* 은 Greedy 방식으로, "줄바꿈문자"를 제외한 아무 문자나 0개 또는 그 이상 있는 것 중, 가능한 최대의 것을 가리킨다.
 .*? 은 Lazy방식으로, "줄바꿈문자"를 제외한 아무 문자나 0개 또는 그 이상 있는 것 중, 가능한 최소의 것을 가리킨다.


출처 : http://egloos.zum.com/rebirth/v/511823





무심코 사용하는 .*? 표현


. 은 '개행문자를 제외한'이라는 단서가 있다. 따라서 html 코드에서 개행문자가 있는 경우에 정규식이 제대로 먹히지 않는다.


구글 검색에서


((.|\n|\r)*)


위와 같은 방법을 찾아냈다. (출처 : http://stackoverflow.com/questions/159118/how-do-i-match-any-character-across-multiple-lines-in-a-regular-expression)


?: (물음표와 콜론)는 그룹을 배열에 추가하지 않는다는 뜻인데


(?:(.|\n|\r)*)


위와 같은 식으로 개행문자로 시작하는 것도 포함할 수 있다.



제목 날짜
Star Rating 별점 위젯 업데이트 정보   2014.03.09
modules/editor/tpl.js/uploader.js  
Zeroclipboard 적용하기   file
    10
xe jQuery 최신버전 사용하기 CDN  
    10
http://www.bootstrapcdn.com/   file
태그 목록