테스트 사이트 - 개발 중인 베타 버전입니다

Regular Expressions 정규표현식 소모임 신청합니다.

· 4년 전 · 1697 · 22

세상은 넓고 고수는 많습니다.

 

인터넷은 항상 열려있고 우리는 모든 문제를 검색을 통하여 해결하고 있습니다.

 

그러나 검색으로 해결할 수 없는 문제들이 있습니다.

 

무슨 얘기냐구요?

 

오류 메세지를 정확하게 뱉어내지 않는 오류에 대해서 우리들은 해결을 하지 못하거나, 해결하는데 많은 시간을 빼앗길 수 있습니다.

 

대비하지 않는다면 속수무책으로 당할 수 밖에 없습니다.

 

정규표현식이 아마 이런 일들에 포함되지 않을까 생각됩니다.

 

자~ 이런 상황이 생겼다고 가정하겠습니다.

 

휴대폰번호를 검증하는 코드를 작성해라.

 

010 으로 시작하고 중간번호는 3자리 또는 4자리가 들어갈 수 있고 끝번호는 4자리이다.

중간에 - 와 같은 특수문자가 들어갈 수도 안들어 갈 수도 있다.

 

그럼 대충 이런 번호가 나올 수 있겠죠.

 

010-123-4567

010-1234-5678

0101234567

01012345678

 

#^010\-?\d{3,4}\-\d{4}$#


그리고 위와 같은 정규표현식으로 대충(?) 검증 할 수 있겠는데요.

 

그럼 이렇게 작성하면 끝이냐? 

 

여기에 요구사항이 더해질 수 있겠죠?

 

국번이 011, 016, 017, 018, 019 가 추가 될 수도 있고,

 

구분자 - 의 옆에 공백이 있을수 있고

 

휴대폰 번호의 앞뒤에 공백 및 다른 특수문자들이 있을 수 있고, 

가령 HTML 사이에 있다면 <p>010-1234-5678</p> 이런 코드가 있을 수 있구요.

 

휴대폰 번호만 들어오면 좋겠지만 지역번호도 검증했으면 한다 그러면~

 

02, 032.... 이런 국번도 들어 올수도 있고...

 

물론 아래와 같은 코드로 결과만 제대로 나온다면 틀린건 아닙니다. ㅎ

 

if ($bun1 == "02") {
  ...
} else $bun2 == "032") {

  ...
} else {

  ...
}

# 이 뒤로도 몇십줄 

...

 

위와 같은 코드와 아래와 같은 코드 중 어떤 코드로 개발하길 원하십니까?

 

#^(02|032|010)\-?\d{3,4}\-\d{4}$#

 

 

정규표현식 같이 배워가시죠?

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 22개

예전에 퀴즈게시판에 올렸었는데, 퀴즈게시판이 없어지는 바람에...
@마젠토 그러게요~ 그 게시판 다 없앤 사람 오늘 술 마실 궁리하고 있습니다~
@리자 백신도 맞았겠다, 술한잔 하러 가고 싶네요..
술 좋아하면 Tumeric 꼭 드시라고 하세요.
@마젠토 생강인가요? 비슷하게 생겼네요 ㅎ
@리자 강황가루입니다.
@마젠토 아 그렇군요. 술마실때 한번 먹어봐야겠어요.
4년 전
정규표현식 관련 소모임이 있었는줄 알았는데
없었나 보네요.

정규표현식은 과도하게 쓰면 독이 되지만
적절히 잘 쓰면 소스를 간결하게 만들죠!!
@똥싼너구리 저도 있는줄 알았는데 없더라구요. ㅠ
@리자 한 6개월정도 드시면, 술이 늘어 있는 것을 확인할 수 있습니다.
추천수 10을 만족하여 정규표현식 소모임 게시판이 만들어졌습니다.

https://sir.kr/so_regex

게시글 목록

번호 제목
2067
2062
2057
2040
2035
2034
2033
2026
2018
2017
2007
2001
1967
1944
1899
1896
1895
1888
1883
1873
1857
1847
1846
1845
1829
1798
1792
1772
1769
1767