你知道为什么在一个简单的正则表达式模式中 if put a*( quantifier) 它不匹配匹配器中的任何结果,即使它实际上包含字符 a; (在任何情况下,它都应该返回一个发现空字符串的结果,因为我正在使用“ ”)。它适用于其他字符,例如 r* 和 b* 没有问题。我知道如果内容放在引号或括号之间,它会起作用。(“a *”)。虽然只是想知道为什么它可以使用不带引号的 b* 而不是不带引号的 a* 。
代码:
Pattern pat = Pattern.compile(args[0]);
Matcher match = pat.matcher(args[1]);
while (match.find())
{
System.out.println("Indeed this the information I need:"+ match.group());
System.out.println("Here it starts:"+match.start());
}
我知道 'a' 是一个元字符,但 'e' 和 'f' 也是,并且与它们一起正常工作。
我在命令行中插入:args[0] = a* args[1] = abba 作为输入。
任何的想法?提前致谢。