[GH] {2}
查找g或h的2个实例,这就是我阅读上述正则表达式的方法:
输入你的正则表达式:[gh] {2}
输入要搜索的输入字符串:ghkkk
我发现文本“gh”从索引0开始,到索引2结束。
根据我的理解,我如何阅读上面的正则表达式,输入字符串(ghkkk)不应该有任何匹配,因为没有g或h的两个实例。然而,它找到了匹配。
我使用了program given on oracle official website。
有人可以解释我为什么得到这场比赛吗?
答案 0 :(得分:2)
[gh]{2}
是[gh][gh]
的简写。 ghkkk
匹配[gh][gh]
(第一组g
,第二组h
),因此匹配其简写[gh]{2}
。
仅匹配gg
和hh
使用gg|hh
(最短的正则表达式)。
答案 1 :(得分:1)
我担心你的解释不太正确。正则表达式匹配gg
,hh
,gh
和hg
。
要仅匹配gg
或hh
,请使用gg|hh
。
答案 2 :(得分:0)
要匹配gg
或hh
,请使用:
gg|hh
或
g{2}|h{2}