如何将:: = [A-Za-z]转换为JavaCC?
我做了什么:
TOKEN :
{
< LETTER : (["A"-"Z"])>
}
但我不知道如何处理较小的字母部分
答案 0 :(得分:1)
像这样:
TOKEN :
{
< LETTER : (["A"-"Z", "a"-"z"])>
}
字符列表描述了一组字符。字符列表的合法匹配是此集合中的任何字符。字符列表是由方括号内的逗号分隔的字符描述符列表。每个字符描述符描述一个字符或一系列字符(参见下面的字符描述符),并将其添加到字符列表的字符集中。如果字符列表以“〜”符号作为前缀,则它表示的字符集是不在指定集合中的任何UNICODE字符。
请注意规则:
TOKEN :
{
< LETTER : (["A"-"Z", "a"-"z"])>
}
相当于:
TOKEN :
{
< LETTER : ["A"-"Z", "a"-"z"]>
}
两者都匹配一个字母。如果你想重复这个课,你需要括号并附加一个+
量词:
TOKEN :
{
< LETTERS : (["A"-"Z", "a"-"z"])+ >
}