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

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

재미난 정규식이 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 된다네요.
규식이 여자친구 변경자를 깔끔하게 잘 쓰셨네요. ^^
규식이 남자친구 변경자는 뭔가요? ㅎㅎ
반대입니다.
남친: 정규식
여친: 변경자

회원님들이 정규식을 좋아하지 않은가 봅니다.
물론 문제가 약간 어려운 게 없지 않은데 좀 더 접근하기 쉽게 할 수 있는 방법을 고민해 봐야겠습니다.
다른건 뭔말인지 몰라서 머리아프다가 규식이 여자친구 변경자에 웃고 갑니다 ㅎㅎ

게시글 목록

번호 제목
5636
5630
5614
5607
5606
5591
5582
5571
5563
5552
5474
5473
5434
5432
5425
5424
5416
5415
5410
5409
5408
5391
5390
5378
5377
5376
5356
5355
5349
5348