【发布时间】:2016-11-12 03:03:40
【问题描述】:
您好,我正在尝试使用 antlr4 解析 sip Uri。 暂时我已经去掉了复杂性以保持问题简单
Antlr4 语法
sipUri : SIP_SCHEME coreUri EOF ;
coreUri : USER_INFO? hostPort ;
hostPort : 'abc.com' ;
SIP_SCHEME : 'sip:';
USER_INFO : USER PASSWORD? '@' ;
fragment USER : ALPHA_NUM+ ;
fragment PASSWORD : ':' ALPHA_NUM+ ;
fragment ALPHA_NUM : ALPHA | DIGIT ;
fragment ALPHA : ('a'..'z' | 'A'..'Z') ;
fragment DIGIT : ('0'..'9') ;
字符串输入 1:sip:user:pwd@abc.com
字符串输入 2:sip:user@abc.com
在第二个输入中,“sip”被解析为 USER,“user”被解析为 PASSWORD,因为根据语法,“sip”有资格成为 USER/PASSWORD。
希望我描述了我的问题。 在这种情况下不知道现在该怎么办?
【问题讨论】: