flex中email的正则表达式



我试图在JFlex中为电子邮件编写一个正则表达式。到目前为止,我尝试了这个

L=[a-zA-Z_]+
D=[0-9]+    
email=[^(.+)@(S+)$]
%{
public String lexeme;
%}
%%
{L}({L}|{D})* {lexeme=yytext(); return Identi;}
("(-"{D}+")")|{D}+ {lexeme=yytext(); return Number;}
{email} {lexeme=yytext(); return Email;}
. {return ERROR;}

当我用电子邮件进行测试时,词法分析器没有匹配任何电子邮件。如何匹配电子邮件?

我找到了解决方案:

alphaNumeric=({L}+|{L}+{D}+)+
email={alphaNumeric}"@"{alphaNumeric}"."({L}+|{L}+"."{L}+)
这是正则表达式

相关内容

  • 没有找到相关文章

最新更新