z

[정규식] 재미난 정규식 10

· 2013-12-19 (목) 20:11:17 · 3189 · 11
재미난 정규식이 10 회까지 왔네요. 

제목 없음20131219201331.png
(개인정보 뭐시기 떠서 이미지로 처리했습니다 --; )


|

댓글 11개

<?php
$str = <<<EOT
010-123-4567
02-1234-4567
044-765-4321
EOT;

function callback($m)
{
return $m[1].str_repeat('*', strlen($m[2])).$m[3];
}

// 원래는 간단한 코드로 했다가 * 갯수를 숫자 갯수 만큼 맞추기 위해 callback 을 사용했습니다.
echo preg_replace_callback('#(\d+-)(\d+)(-\d+)#S', 'callback', $str);
?>
callback 좋쵸.
다른 건 없을까요 ~ ?
숫자 갯수만큼 별표(*)가 나와야 되는건가요?
물론입니다.
e 변경자를 사용해야 하나요?

preg_match 후에 for 문이나 다른 함수 사용하는 것 아니죠?

010-123-4567 -> 010-***-4567
02-1234-4567 -> 02-****-4567
044-765-4321 -> 044-***-4321

로 한방에 나와야 하는거죠?
한방은 당연하고 얼추 다 왔습니다.
<?php
$str = <<<EOT
010-123-4567
02-1234-4567
044-765-4321
EOT;

echo preg_replace("#(\d+-)(\d+)(-\d+)#e", '"$1".str_repeat("*",strlen("$2"))."$3"', $str);
?>

http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
e 변경자는 PHP 5.5.0 부터 DEPRECATED 된다네요.
규식이 여자친구 변경자를 깔끔하게 잘 쓰셨네요. ^^
규식이 남자친구 변경자는 뭔가요? ㅎㅎ
반대입니다.
남친: 정규식
여친: 변경자

회원님들이 정규식을 좋아하지 않은가 봅니다.
물론 문제가 약간 어려운 게 없지 않은데 좀 더 접근하기 쉽게 할 수 있는 방법을 고민해 봐야겠습니다.
2013-12-28 (토) 02:33:12
다른건 뭔말인지 몰라서 머리아프다가 규식이 여자친구 변경자에 웃고 갑니다 ㅎㅎ
댓글을 작성하시려면 로그인이 필요합니다.

퀴즈게시판

1,337건

답을 맞히시면, 문제를 내신 회원님이 채택을 해드립니다. 채택은 '좋아요'와 같습니다.

+
제목 글쓴이 날짜 조회
14-01-06 조회 2,568
14-01-06 조회 2,917
13-12-30 조회 3,072
13-12-30 조회 3,435
13-12-28 조회 3,579
13-12-28 조회 3,331
13-12-28 조회 3,462
13-12-24 조회 3,633
13-12-24 조회 4,603
13-12-19 조회 3,190
13-12-19 조회 3,008
13-12-12 조회 2,850
13-12-11 조회 2,810
13-12-11 조회 2,951
13-12-09 조회 3,238
13-12-09 조회 3,098
13-12-09 조회 2,618
13-12-09 조회 2,808
13-12-09 조회 2,967
13-12-03 조회 1.3만
13-11-29 조회 5,921
13-11-28 조회 4,723
13-10-18 조회 4,010
13-10-04 조회 3,282
13-09-12 조회 1만
13-08-21 조회 3,775
13-08-12 조회 3,191
13-08-11 조회 4,639
13-08-08 조회 4,328
13-07-22 조회 4,547