티스토리 뷰

Dev 일반/정규식

[정규식] 6. 반복 찾기

코드너머 2019. 5. 9. 15:20

 

여태까지는 하나의 정규 표현식이 하나의 문자에 대응했습니다

그래서 같은 패턴의 문자가 반복되면 반복되는 수만큼 문자를 쓸 수밖에 없었습니다

예를들어, 나열된 3개의 숫자는 [0-9][0-9][0-9] 이런 식으로 찾아야 합니다

매우 비효율적이지 않나요?

 

반복되는 문자열을 더욱 쉽게 찾을 수 없을까요?

 

 

 

 

 

예문


Send personal email to ben@ecount.com.

The URL is http://www.ecount.co.kr/

If I want secure access, https://www.ecount.co.kr is valid. 

httpssss://www.ecount.co.kr is invalid url.

ecountecountecountecountecount

ecountecountecount

 

 

 

 

 

 

예제1> 이메일을 찾으세요 (예문에서만 검색되면 됩니다)

 

결과

Send personal email to ben@ecount.com.

The URL is http://www.ecount.co.kr/

If I want secure access, https://www.ecount.co.kr is valid.

httpssss://www.ecount.co.kr is invalid url.

ecountecountecountecountecount

ecountecountecount

 

정규식

\w+@\w+\.\w+

 

새로 등장한 표현식은 더하기(+) 입니다

더하기(+)는 해당 문자의 하나이상 반복된 문자열에 일치합니다

 

 

 

 

 

 

예제2> 대문자로 시작하는 단어를 찾으세요

 

결과

Send personal email to ben@ecount.com.

The URL is http://www.ecount.co.kr/

If I want secure access, https://www.ecount.co.kr is valid.

httpssss://www.ecount.co.kr is invalid url.

ecountecountecountecountecount

ecountecountecount

 

정규식

[A-Z]\w*

 

\w+로 찾으면 I 를 찾을 수가 없습니다

더하기(+)는 무조건 하나 이상 일치해야 하기 때문이죠

일치하는 문자가 없어도 되는 경우를 포함하려면 별표(*)를 사용해야 합니다

별표(*)는 해당 문자가 없는 경우 또는 하나 이상 반복된 문자열에 일치합니다

 

 

 

예제3> URL을 찾으세요

 

결과

Send personal email to ben@ecount.com.

The URL is http://www.ecount.co.kr/

If I want secure access, https://www.ecount.co.kr is valid.

httpssss://www.ecount.co.kr is invalid url.

ecountecountecountecountecount

ecountecountecount

 

정규식

https?://[\w./]+

 

https*로 찾으면 httpssss:// 도 찾아지기 때문에 별표를 사용하면 안됩니다

그래서 여기서는 물음표(?)를 사용해야 하는데

물음표(?)는 해당 문자가 없거나 하나인 문자열에 일치합니다

 

 

 

 

 

예제4> 4~5글자 단어를 찾으세요

 

결과

Send personal email to ben@ecount.com.

The URL is http://www.ecount.co.kr/

If I want secure access, https://www.ecount.co.kr is valid.

httpssss://www.ecount.co.kr is invalid url.

ecountecountecountecountecount

ecountecountecount

 

정규식

\b\w{4,5}\b

 

반복 횟수를 지정하고 싶을 때는 구간을 사용할 수 있습니다

괄호 {a, b}는 해당 문자가 최소 a번 ~ 최대 b번 반복되는 문자열에 일치합니다

 

 

 

 

 

예제5> ecount가 두번이상 반복되는 문자열을 찾으세요

 

결과

Send personal email to ben@ecount.com.

The URL is http://www.ecount.co.kr/

If I want secure access, https://www.ecount.co.kr is valid.

httpssss://www.ecount.co.kr is invalid url.

ecountecountecountecountecount

ecountecountecount

 

정규식

ecount(ecount)+

 

특정한 패턴의 반복을 찾고 싶을 때는 하위 표현식으로 묶어서 사용할 수 있습니다

괄호 () 는 일부 표현식을 한 항목으로 다루도록 묶어 줍니다

이를 하위 표현식이라 합니다

 

 

 

 

연습문제> 일자표현을 찾으세요

 

예문

2019-04-11 05:00:00

19.05.24

19/02/21

금일(4.11) 점심약속

 

결과

2019-04-11 05:00:00

19.05.24

19/02/21

금일(4.11) 점심약속

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
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
글 보관함