我需要制作一個(gè)正則表達(dá)式來(lái)驗(yàn)證這兩種模式?;旧?,如果任何字符串是從以下兩種模式傳遞的,我應(yīng)該能夠驗(yàn)證它。第一個(gè)模式是 - 我可以有這樣的字符串tree1或tree2. 所以基本上是一個(gè)數(shù)字前面有 string tree。第二種模式是 - 我可以有這樣的字符串tree1aor tree1bor tree2aor tree2b。所以這個(gè)模式的樹(shù)[number][az]。我使用下面的正則表達(dá)式,但它僅適用于第一個(gè)模式。我怎樣才能制作一個(gè)可以處理這兩種模式的正則表達(dá)式。Pattern patternSet = Pattern.compile("^tree[0-9]$");
2 回答

撒科打諢
TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以添加可選的[a-z]?
字符類
^tree[0-9][a-z]?$
^
字符串的開(kāi)頭tree
按字面意思匹配[0-9]
匹配數(shù)字0-9[a-z]?
可選地匹配 az$
字符串結(jié)尾
Pattern patternSet = Pattern.compile("^tree[0-9][a-z]?$");

收到一只叮咚
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
您的正則表達(dá)式應(yīng)該如下所示tree\d[a-z]?
,因此您的模式可以是:
Pattern patternSet = Pattern.compile("tree\\d[a-z]?");
如果您想要的不僅僅是一個(gè)數(shù)字和一個(gè)字母,您可以使用:
Pattern patternSet = Pattern.compile("tree\\d+[a-z]*");
最后一個(gè)模式可以匹配tree123
,tree1abc
或者tree123abc
添加回答
舉報(bào)
0/150
提交
取消