2016-10-21 3 views
-1

Google과 다른 유형의 이메일 패턴이 있습니다. 그러나 나는 그 패턴을 이해할 수 없다. 누구든지 나에게 다음 패턴에 대한 설명을 해줘. 미리 감사드립니다.이메일 설명에 대한 설명

"[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" + 
        "\\@" + 
        "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" + 
        "(" + 
        "\\." + 
        "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" + 
        ")+" 
+1

가 읽어이다 사용하는 예 정규식 – Mox

답변

1

먼저 떨어져,이 정규식은 잘못된 것입니다. 명확하지 않은 이메일 주소 (예 : "[email protected]")와 적어도 다소 이상한 것들 (예 : "[email protected]")을 허용합니다.

사양에 따르면 적어도 [email protected]은 기술적으로 유효하다고 생각하지만 전체 사양은 실제로 구현되는 경우는 거의 없으므로 이와 같은 것을 허용할지 여부는 디자인 결정입니다. 일부 주요 공급 업체 인 과 같은 이메일을 허용합니다.

구성 요소로 분해하십시오. 다음과 같이 전체 정규식 문자열 :

[a-zA-Z0-9\+\.\_\%\-\+]{1,256}\@[a-zA-Z0-9][a-zA-Z0-9\-]{0,64}(\.[a-zA-Z0-9][a-zA-Z0-9\-]{0,25})+ 

다음 문자열 :은 "@"기호 앞에

[a-zA-Z0-9\+\.\_\%\-\+]{1,256} 

일치 문자.

{1,256} 

부분은 "1 256 배 사이 진행 항목과 일치하는"을 의미합니다. 즉, "@"기호 앞에 최소 1 자 이상 (256 자 이하)이 있어야합니다. 예 :

[a-zA-Z0-9]{1, 50} 

은 "1 - 50 자의 영숫자"를 의미합니다.

\ @ 은 "@"기호와 일치합니다. 0이어서

[a-zA-Z0-9][a-zA-Z0-9\-]{0,64} 

하나 개 이상의 알파벳 문자 - "."@ 기호 다음 64 개 영숫자 (또는 대시) 및 전 (예 : '.com'또는 그 이전 부분). {0, 64}은 "0에서 64 사이의 일치"를 의미합니다.

(\.[a-zA-Z0-9][a-zA-Z0-9\-]{0,25})+ 

"." (예 : '.com'). 마침표 다음에 1 - 26 자의 영숫자가옵니다. 또한 첫 번째 영숫자 다음에 -를 사용할 수 있습니다.

여기서 명백한 결함은 대시가 발생하는 위치 (또는 몇 개)에 제약이 거의 없다는 것입니다.

[email protected] 

[email protected] 

a+.%[email protected] 

%@t.c- 
+0

{1,256}, {0,64}의 사용법은 무엇입니까? –

+0

@Daryl 그 (것)들을 또한 언급하는 편집했다 - {1,256}는 "진행하는 품목을위한 1 개 그리고 256의 성냥"를 의미하고 "{0, 64}"는 "진행하는 품목을위한 0 개에서 64 개의 성냥 사이에서 의미한다. – EJoshuaS

+0

내 의심을 분명히하기 위해 귀중한 시간을 보내 주신 것에 대해 고마워. 이제 나는 아주 잘 이해했다. –

1

부분에 의해 부분을 아래로 속보 : 예를 들어, 다음 이메일 주소가 모두 "유효"입니다

[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}는 - 9 Z, Z에 A, 0에 포함 할 수있는 문자열과 일치 및 문자 "+", ".", "_", "%", "-"로 구성됩니다. 문자열의 길이는 1 - 256 자입니다.(+ 기호 두 번, 내가 왜 몰라)

\\@은 -

[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64} 이메일 주소에서 @ 기호를 일치 -의 하나 인 문자로 시작 @ 기호 후 첫 번째 부분과 일치 AZ, AZ 또는 0-9 다음에 하이픈 ('-')을 포함 할 수있는 문자가옵니다. 예 : '스택 오버플로'. 이 문자열의 길이는 1 ~ 65 자 (첫 번째 문자 포함) 일 수 있습니다.

\\. -와 일치합니다. 자체

[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}합니다 (google.com 인치) - 애프터

전체 부분 길이 25 자 개까지 될 수있는 상기와 유사한 문자열을 일치합니다. 필요에 따라이 (예 mymachine.mydepartment.mycompany.com)와 같은 여러 번 반복 할 수 있음을 나타 내기 위해, (안에) +됩니다

패턴의 대부분은

user%[email protected] 
관련 문제