0
我想確保至少一個字符包括在使用通配符ANTLR3:確保字符出現在至少在一個地方
fragment CHARACTER : ('a'..'z'|'0'..'9'|'-'|'&'|'@'|'$'|'%'|'.'|':');
fragment WILDCARD_QUESTION : ('?');
WILD_STRING
: (CHARACTER)*
(
(WILDCARD_QUESTION)
(CHARACTER)*
)+;
使用這甚至單個的文本?被我接受,因爲我希望它失敗。所以只有至少有一個字符應該被傳遞的序列。
我需要的是a?
,?a
,?a?
,a?a
等通過。只有?
,??
等應該會失敗。即至少應該有一個字符,而不僅僅是WILDCARD_QUESTION。角色可以位於通配符的任一側。
想你的解決方案antlrWorks和它打破w^?? m×n個進入第一後部分輸入?以下我的解決方案不會那樣做。我可能仍然是錯的,但它似乎做我想要的工作。需要進一步測試 – Puneet 2011-06-10 06:38:38
我很確定這兩種解決方案都是相同的。你可以使用它的每一個...但在_my_的意見我的解決方案有點更清晰;)。 – Arne 2011-06-10 06:44:27
同意。我感覺同樣的事情,甚至會批准你的答案。但是當我檢查AntlrWorks時,這些差異就出現了。也許你可以檢查並確認? – Puneet 2011-06-10 08:26:17