z

[정규식] 재미난 정규식 9 - 심화4

심화 4 단계 입니다.
지금까지 찾아 내는 것을 했다면 이 번은 다릅니다.
정규식으로 가져와 변환을 해야 하지요. (생각만 해도 끔찍 하지요?)

자 ~ 그럼 점선 안의 내용을 정상적인 메일주소로 변환(replace) 시키면 됩니다. 

-----------------------------------------------
abs8230LSDKF @ sir.co.kr

some.email at gmail dot com

asdf-FDSA at  ghjkl .  net

thomas at yahoo .de

josh@awesomecompanyname dot com

mona.lisa [@] domain [dot] com

stephen.spielberg [@] domain [.] com
-----------------------------------------------

도전하는 그대가 아름답다.
|

댓글 6개

저는 이번 문제 쉴게요. ㅎㅎ
$subs = array(
'/\s{3,}/' => '<br />',
'/[\s\[\]]/' => '',
'/at/' => '@',
'/dot/' => '.'
);
echo preg_replace(array_keys($subs), array_values($subs), $str);
깔끔하게 잘 되었네요 ^^
추가됨

preg_replace("/^([-\w\d\.]+?)(?:\s+at\s+|\s*@\s*|\s*(?:[\[\]@]){3}\s*)([-\w\d\.]*?)\s*(?:dot|\.|(?:[\[\]dot\.]){3,5})\s*(\w+)$/m", "$1@$2.$3", $str);
추가
preg_replace("/([\w\.]+)\s*(?:@|at|\[@\])\s*(\w+)\s*(?:\.|dot|\[dot\]|\[\.\])\s*([\w\.]*)/", "$1@$2.$3", $str);

정규식문제 재미나게 잘 봤습니다. 유익한 정보네요
추가
preg_replace("/(\S)\s?(?:at|\[?@\]?)\s*(\w+)\s?(?:\[?dot|\[?\.)[\]|\s]*(\S)/", "$1@$2.$3", $str);
오랜만에 마음 맞는 분을 만난 것 같군요.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

퀴즈게시판

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

+
제목 글쓴이 날짜 조회
12년 전 조회 2,485
12년 전 조회 2,973
12년 전 조회 3,284
12년 전 조회 2,591
12년 전 조회 2,268
12년 전 조회 2,602
12년 전 조회 2,749
12년 전 조회 3,074
12년 전 조회 3,233
12년 전 조회 3,041
12년 전 조회 3,129
12년 전 조회 3,313
12년 전 조회 4,224
12년 전 조회 2,866
12년 전 조회 2,646
12년 전 조회 2,572
12년 전 조회 2,441
12년 전 조회 2,609
12년 전 조회 2,928
12년 전 조회 2,740
12년 전 조회 2,319
12년 전 조회 2,487
12년 전 조회 2,644
12년 전 조회 1.2만
12년 전 조회 5,496
12년 전 조회 4,385
12년 전 조회 3,675
12년 전 조회 2,970
12년 전 조회 9,688
12년 전 조회 3,478
🐛 버그신고