리자

[문제] 우리나라 주민등록번호를 모두 만족하는 정규표현식을 가장 짧게 작성해 주세요.

 
1800년대
남자 : 981231-9123456
여자 : 950101-0123456
 
1900년대
남자 : 580728-1012345
여자 : 791209-2982827
 
2000년대
남자 : 091208-3291828
여자 : 111111-4292383
 
13번째의 숫자 check digit 는 따지지 않습니다.
 
위의 주민등록번호를 예로 들어 가장 짧게 검사하는 정규표현식을 작성해 주세요.
 
년도는 숫자 두자리면 모두 통과됩니다.
 
월과 일은 정확하게 따지지만 윤년은 따지지 않습니다.
 
7번째 자리는 정확하게 따집니다.
|

댓글 19개

ㅎㄷㄷㄷㄷ
<?php

$str = '091220-3291828';

preg_match("`^\d{2}((0[1,3,5,7,8]((0[1-9])|([1,2][0-9])|30|31))|(0[4,6,9]((0[1-9])|([1,2][0-9])|30))|((10|12)((0[1-9])|([1,2][0-9])|30|31))|(11((0[1-9])|([1,2][0-9])|30))|(02((0[1-9])|([1,2][0-9]))))-[9,0,1,2,3,4]\d{6}$`", $str, $m);

print_r($m);

?>

이게 의미가 있는지 모르겟지만 ......
아무튼 이렇게 되지 않을까 싶습니다.

2월달은 29일까지 체크되게 햇습니다.
preg_match("`^\d{2}(((0[1,3,5,7,8]|10|12)((0[1-9])|([1,2][0-9])|30|31))|((0[4,6,9]|11)((0[1-9])|([1,2][0-9])|30))|(02((0[1-9])|([1,2][0-9]))))-[9,0,1,2,3,4]\d{6}$`", $str, $m);
preg_match("`^\d{2}(((0[13578]|10|12)((0[1-9])|([12][0-9])|30|31))|((0[469]|11)((0[1-9])|([12][0-9])|30))|(02((0[1-9])|([12][0-9]))))-[901234]\d{6}$`", $str, $m);
오늘 자정까지 아무도 안계시면 유창화님 Win 으로 하겠습니다.
\d{2}
(
(
(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])
)
|
(
(02)(0[1-9]|1[0-9]|2[0-9])
)
)
\-
[901234]\d{6}

저도 2월은 29일 까지로 했습니다.
돌려보질 않아 맞는지는 모르겠습니다.
제가, 넣는것으로 착각했네요
그런데 관리자님꺼 30일짜리가 안보이는것 같습니다
가만
(0[1-9]|[12][0-9]|3[01])
이거 30 이 안나오는 건가요?
아뇨 4 6 9 11 월 체크하는 부분이 없다는 뜻입니다
문제에서 월과 일은 정확하게 따진다고 했으므로 틀린답이네요.
문제가 좀 그렇네요. ㅠㅠ
YOU WIN!!! ★★★★★
상금은 없/습/니/다 (개콘 버전)
움... 외계어인가요? ㅡㅡ;
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
11-10-25 조회 2,481
11-10-18 조회 4,009
11-10-18 조회 2,388
11-10-15 조회 3,603
11-10-10 조회 2,661
11-10-02 조회 2,577
11-09-28 조회 2,394
11-09-24 조회 2,478
11-09-22 조회 2,379
11-09-05 조회 2,867
11-08-31 조회 2,239
11-08-31 조회 2,548
11-08-31 조회 2,403
11-08-29 조회 2,956
11-08-28 조회 2,446
11-08-25 조회 2,498
11-08-17 조회 2,215
11-08-16 조회 2,448
11-08-11 조회 2,904
11-08-07 조회 2,614
11-08-03 조회 2,327
11-07-22 조회 2,077
11-07-12 조회 3,295
11-06-27 조회 2,078
11-06-01 조회 1,744
11-05-17 조회 2,529
11-05-01 조회 2,601
11-04-28 조회 2,889
11-04-28 조회 2,937
11-04-13 조회 2,594
11-03-27 조회 2,718
11-03-27 조회 2,597
11-03-14 조회 2,009
11-03-02 조회 2,334
11-03-02 조회 2,564
11-02-27 조회 2,994
11-02-23 조회 2,372
11-02-19 조회 2,514
11-02-14 조회 4,131
11-02-03 조회 2,921
11-01-24 조회 3,861
11-01-04 조회 2,395
10-12-08 조회 5,403
10-11-15 조회 2,406
10-11-14 조회 2,583
10-11-14 조회 3,609
10-10-29 조회 3,678
10-10-19 조회 2,692
10-10-07 조회 2,519
10-10-05 조회 4,436
10-09-18 조회 2,733
10-09-18 조회 2,477
10-09-17 조회 4,873
10-09-15 조회 2,820
10-09-15 조회 2,345
10-09-15 조회 2,831
10-09-15 조회 2,666
10-09-11 조회 3,990
10-09-11 조회 2,496
10-09-11 조회 2,536
10-09-07 조회 3,813
10-09-07 조회 3,348
10-08-29 조회 2,805
10-07-01 조회 3,056
10-06-30 조회 2,460
10-06-30 조회 2,645
10-06-30 조회 2,997
10-06-13 조회 2,029
10-04-15 조회 3,199
10-04-04 조회 3,430
10-02-23 조회 3,525
10-02-09 조회 3,135
10-01-25 조회 2,637
10-01-25 조회 2,736
09-12-27 조회 4,382
09-11-23 조회 3,609
09-11-20 조회 4,840
09-08-30 조회 3,042
09-08-30 조회 3,036
09-08-12 조회 3,003
09-07-22 조회 4,060
09-07-22 조회 4,713
09-07-15 조회 5,884
09-07-11 조회 2,959
09-06-17 조회 2,697
09-06-15 조회 2,984
09-05-29 조회 3,260
09-05-11 조회 5,905
09-05-08 조회 2,654
09-04-30 조회 3,775
09-04-17 조회 3,092
09-04-04 조회 3,269
09-03-05 조회 3,660
09-02-09 조회 3,627
09-02-03 조회 6,135
08-12-27 조회 3,199
08-12-20 조회 4,289
08-11-21 조회 5,248
08-11-14 조회 2,819
08-11-03 조회 3,277