사용언어 lex
첫번째 단계
두번째 단계.
도메인 네임 규칙 : 영어대소문자 숫자 하이픈 사용가능. 단 하이픈은 시작과 끝에 지정 불가. 2자 이상.
co.co.kr 이 도메인은 적법한거 같아서 별 문제 없을거 같다.
실행 예..
토이 토이/메일주소셀렉터
%% [\n\t ]+ ; [a-zA-Z] { printf("%s ", yytext); } %%
결국 생각을 해보니 이것 역시 FSA 라서 그저 lex 로도 해결 된다는 깨우침을 얻었음.
letter [-_0-9A-Za-z] mailname {letter}({letter}|\.)*{letter} domain_name [0-9A-Za-z][-0-9A-Za-z]*[0-9A-Za-z] last_domain com|net|co\.kr mail_address {mailname}@({domain_name}\.)+{last_domain} %% [ \t\n] ; {mail_address} { printf("true.\n"); } .+ { printf("false.\n"); } %%메일주소 규칙 : 영어대소문자 숫자 하이픈 언더바 '.' 사용 가능. 단 '.' 은 시작과 끝에 지정 불가. 2자 이상.
도메인 네임 규칙 : 영어대소문자 숫자 하이픈 사용가능. 단 하이픈은 시작과 끝에 지정 불가. 2자 이상.
zennith@zeropage:~/work/lexandyacc$ ./mailscanner asdflkhas@asdlghas.asdfkhasd.asdkjghasdf.com true. ----__--__....asdflkhasd.asdlkh@asd--asdg.co.kr true. .asdf@asgdlkh_as.comm false.----
토이 토이/메일주소셀렉터