2014-07-21 2 views
0

전자 메일 스팸 격리 관리자이며 전자 메일 메시지를 차단하는 정규식 규칙을 작성할 수 있습니다. 이메일 주소의 사용자 이름이 다른 도메인 앞에 스푸핑되는 것과 같이 도메인에 타격을주는 이메일 스팸의 ​​일반적인 분류가 있습니다.정규식 - 전자 메일 스팸 필터링의 경우 원본이 아닌 다른 전자 메일 주소와 일치

예를 들어 내 이메일 주소가 [email protected]이라고 가정합니다. 이 경우, 스패머는 같은 사용자 이름으로 시작하는 다른 도메인의 모든 종류에서 나에게 작성 : 나는 jwclark 및 와일드 카드를 포함한 모든 일치하는 정규 표현식 규칙을 작성할 수있는 방법

[email protected] 
[email protected] 
[email protected] 

하지만 일치하지 원래 [email protected]? 나는 실제 예제 이메일 주소 [email protected]을 제외하고 위의 모든 것과 일치하는 정규식을 원한다.

+2

이메일 주소를 확인하는 올바른 방법 3을 사용하고 있습니다 : P

편집 - 이상한 제한 사항을 준수하기 위해 변화 - 고정 바보 중복 감사

편집 ZX81하기 당사자 API 몇 가지 예 : [This] (https://code.google.com/p/php-smtp-email-validation/), [this] (http://verify-email.org/using-api.html) 및 [this] (https://tools.email-checker.com/). – alfasin

답변

3

이 나는이 정규 표현식 here는 자바 스크립트 형식의

^jwclark.*[@](?!domain\.com).*$

했습니다,하지만 PHP 또는 뭔가에 쉽게 적응할 수 있어야합니다.

문제의 성격을 감안할 때, 매개 변수가 주어지면 정규 표현식 작성 기능을 사용하여 올바른 정규 표현식을 만드는 것이 더 나을 것입니다.

또는 실제로는 다른 접근 방식을 사용하십시오. 최근에 정규 표현식으로 부동 소수점 숫자의 범위를 파싱하는 방법을 찾았지만 범위 내에서 숫자를 찾는 적절한 해결책이되지 못했습니다. :

^jwclark.{0,25}[@][^d][^o][^m][^a][^i][^n].{0,25}\.com.{0,25}$

demo for the strange one

+0

앵커를 올바로 사용하려면 +1하지만'@ @ {1}'을 단지 @ @로 바꾸는 것이 좋습니다 – zx81

+0

@ zx81 오 볼, 나는 그걸 알아 차리지 못했습니다 xD – mechalynx

+0

실제로 걱정할 필요가 없습니다. 우리는'. *'대신에'. *'대신''*''와는 달리''^ '* *''와''''''''''''''' 솔루션 작동! 당신의 배려를위한 약간의 잠재적 개조. – zx81

관련 문제