名称问题的正则表达式

时间:2011-01-05 10:32:33

标签: java regex jflex

我需要正则表达式来识别可以[a-zA-Z_]然后.(点)然后再[a-zA-Z_]的名称。 我([a-zA-Z_]+) \.([a-zA-Z_]*)但它不起作用。救命 ? 任何人都可以让我在JFlex那样做吗?

2 个答案:

答案 0 :(得分:2)

你需要逃避点:“\。” - 否则,正则表达式解析器将其视为保留的“任何字符”符号。

- 编辑 - 现在我们知道点IS已经逃脱,因此不是真正的问题:你确定点之前的空间是故意的吗?

答案 1 :(得分:1)

通过转义点和删除空格来更改正则表达式。

([a-zA-Z_]+)\.([a-zA-Z_]*)

drop()和使用临时标识符的附加建议

编辑:通过评论regexp来提高声誉