gpt4 book ai didi

java - java量词 "?"如何工作?

转载 作者:行者123 更新时间:2023-11-30 06:08:29 24 4
gpt4 key购买 nike

System.out.println(Pattern.matches("[amn]?", "a"));

此语句返回 true。

但是

System.out.println(Pattern.matches("[amn]?", "amn"));

System.out.println(Pattern.matches("[amn]?", "adef"));

这些语句返回 false。

为什么?

我对正则表达式量词“?”的理解是这个。

正则表达式: X?
描述: X 出现一次或根本不出现

所以语句“[amn]?” “amn”应该返回 true,因为 a,m,n 出现一次。类似地,在“[amn]?”中"adef"a 只出现一次,m 和 n 根本不出现。

我哪里出错了?

最佳答案

正则表达式 [amn]? 匹配由 amn 组成的任何字符串,并且没有其他的。如"a",就满足这个条件。

amnadef 然而,以这些字母之一开头,但继续,这样就不会满足“一次或根本不”规则。

关于java - java量词 "?"如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39763261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com