我有一個我想匹配的Java模式。我想把我的初始模式匹配到它的第一個匹配項。但是,我認爲模式問題
public static void main(String[] args)
{
final String expression = "(\\s*(a{1}\\s*b{1})\\s*)";
Scanner scanner1 = new Scanner(" ab");
//should be rejected
Scanner scanner2 = new Scanner("cab");
System.out.println(scanner1.findWithinHorizon(expression, 0));
System.out.println(scanner2.findWithinHorizon(expression, 0));
}
當我運行上面的代碼,我得到以下的輸出:
ab
ab
我試圖修改使用不願意和佔有慾量詞的模式,但也好像產生我期望的結果。我在這裏做錯了什麼?
'{1}'是多餘的:它們可以安全省略。 – 2011-04-15 11:20:52
@Bart Kiers感謝您的提示。我在這方面還是有點新的。 – LandonSchropp 2011-04-15 11:36:37