[정규식] 재미난 정규식 9 - 심화4 정보
[정규식] 재미난 정규식 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개

저는 이번 문제 쉴게요. ㅎㅎ
-
채택 0
$subs = array(
'/\s{3,}/' => '<br />',
'/[\s\[\]]/' => '',
'/at/' => '@',
'/dot/' => '.'
);
echo preg_replace(array_keys($subs), array_values($subs), $str);
'/\s{3,}/' => '<br />',
'/[\s\[\]]/' => '',
'/at/' => '@',
'/dot/' => '.'
);
echo preg_replace(array_keys($subs), array_values($subs), $str);
-
채택 0

깔끔하게 잘 되었네요 ^^
-
채택 0

추가됨
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\d\.]+?)(?:\s+at\s+|\s*@\s*|\s*(?:[\[\]@]){3}\s*)([-\w\d\.]*?)\s*(?:dot|\.|(?:[\[\]dot\.]){3,5})\s*(\w+)$/m", "$1@$2.$3", $str);
-
채택 0
추가
preg_replace("/([\w\.]+)\s*(?:@|at|\[@\])\s*(\w+)\s*(?:\.|dot|\[dot\]|\[\.\])\s*([\w\.]*)/", "$1@$2.$3", $str);
정규식문제 재미나게 잘 봤습니다. 유익한 정보네요
preg_replace("/([\w\.]+)\s*(?:@|at|\[@\])\s*(\w+)\s*(?:\.|dot|\[dot\]|\[\.\])\s*([\w\.]*)/", "$1@$2.$3", $str);
정규식문제 재미나게 잘 봤습니다. 유익한 정보네요
-
채택 0

추가
preg_replace("/(\S)\s?(?:at|\[?@\]?)\s*(\w+)\s?(?:\[?dot|\[?\.)[\]|\s]*(\S)/", "$1@$2.$3", $str);
오랜만에 마음 맞는 분을 만난 것 같군요.
preg_replace("/(\S)\s?(?:at|\[?@\]?)\s*(\w+)\s?(?:\[?dot|\[?\.)[\]|\s]*(\S)/", "$1@$2.$3", $str);
오랜만에 마음 맞는 분을 만난 것 같군요.
-
채택 0