我正在用 java 编写一个解析器,并将问题缩小到我的一个正则表达式。在玩弄它并使案例变得更简单之后,我最终得到了一个简单的测试 .txt 文件:
read a
和一个看起来像这样的模式:
... = Pattern.compile("[a-zA-Z]+");
“read”在上一步中解析,然后我的程序抛出错误,因为“a”无法识别。我正在标记输入并且没有空格。我不得不将正则表达式缩减为:
[a-z]
让它匹配。如果我添加“+”或其他任何内容,它会失败。有什么见解吗?
编辑:再次查看后,[a-zA-Z] 有效,它的“+”正在破坏它。