%{
#include <stdio.h>
#include <stdlib.h>
%}
/*
This pattern matches a basic email address:
- One or more letters, digits, dots, underscores, percent signs, plus or minus signs,
- Followed by an '@',
- Then one or more letters, digits, dots or hyphens,
- Followed by a dot and at least two letters.
Note: Email syntax can be complex; this regex covers many common cases.
*/
%%
^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$ {
printf("Valid email address: %s\n", yytext);
exit(0);
}
^.*$ {
printf("Invalid email address: %s\n", yytext);
exit(1);
}
%%
int main(void)
{
yylex();
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KJX0KCi8qIAogICBUaGlzIHBhdHRlcm4gbWF0Y2hlcyBhIGJhc2ljIGVtYWlsIGFkZHJlc3M6CiAgIC0gT25lIG9yIG1vcmUgbGV0dGVycywgZGlnaXRzLCBkb3RzLCB1bmRlcnNjb3JlcywgcGVyY2VudCBzaWducywgcGx1cyBvciBtaW51cyBzaWducywKICAgLSBGb2xsb3dlZCBieSBhbiAnQCcsCiAgIC0gVGhlbiBvbmUgb3IgbW9yZSBsZXR0ZXJzLCBkaWdpdHMsIGRvdHMgb3IgaHlwaGVucywKICAgLSBGb2xsb3dlZCBieSBhIGRvdCBhbmQgYXQgbGVhc3QgdHdvIGxldHRlcnMuCiAgIE5vdGU6IEVtYWlsIHN5bnRheCBjYW4gYmUgY29tcGxleDsgdGhpcyByZWdleCBjb3ZlcnMgbWFueSBjb21tb24gY2FzZXMuCiovCiUlCl5bQS1aYS16MC05Ll8lKy1dK0BbQS1aYS16MC05Li1dK1wuW0EtWmEtel17Mix9JCAgewogICAgcHJpbnRmKCJWYWxpZCBlbWFpbCBhZGRyZXNzOiAlc1xuIiwgeXl0ZXh0KTsKICAgIGV4aXQoMCk7Cn0KCl4uKiQgIHsKICAgIHByaW50ZigiSW52YWxpZCBlbWFpbCBhZGRyZXNzOiAlc1xuIiwgeXl0ZXh0KTsKICAgIGV4aXQoMSk7Cn0KJSUKCmludCBtYWluKHZvaWQpCnsKICAgIHl5bGV4KCk7CiAgICByZXR1cm4gMDsKfQo=