티스토리 뷰
http://javascript.about.com/library/blre09.htm
http://lawrence.ecorp.net/inet/samples/regexp-intro.php
javascript 의 string 함수중 match() 에서 regular expression 정규표현식을 사용할 수 있다.
근데 여기서 기본 설정은 greedy matching - longest match 이다.
예를 들면,
var a='b333b444b'
a.match(/b.+b/)
>> 'b333b444b'
위와 같은 경우에 가장 처음 'b' 에서 마지막 'b' 까지가 match 된 결과로 return 된다.
근데 가장 먼저 match 되는 녀석, 즉 b333b, 을 return 되게 하고 싶다면(이걸 reluctant matching 이라 한다.)
? 를 사용하면 된다.
var a='b333b444b'
a.match(/b.+?b/)
>> 'b333b'
여기서 주의할 점은 무조건 정규표현식의 마지막에 ? 를 붙이는 것이 아니라는 점이다.
위 처럼 + , * 같은 quantifier 뒤에 ? 를 붙이면 reluctant matching 이 될 것이다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 보드고글
- 샤워기전
- 고강도
- sudachi
- icon tool
- 스타치
- 데크에 바인딩묶기
- 편집프로그램
- 영귤
- 제주녹색농원
- 인공안구
- 과학
- 칠오름
- 녹색농원
- 명언
- 무릎마사지
- 그림편집
- 제주영귤
- breakpoint
- icon program
- network error
- 늙기
- 칠오름농장
- 미스터피자주문
- 인공눈
- 상식
- 영귤차
- 인테리어
- 대일농장
- 의학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함