正则表达式或条件来验证两种不同的模式?

我需要制作一个正则表达式来验证这两种模式。基本上,如果任何字符串是从以下两种模式传递的,我应该能够验证它。

  • 第一个模式是 - 我可以有这样的字符串tree1tree2. 所以基本上是一个数字前面有 string tree

  • 第二种模式是 - 我可以有这样的字符串tree1aor tree1bor tree2aor tree2b。所以这个模式的树[number][az]。

我使用下面的正则表达式,但它仅适用于第一个模式。我怎样才能制作一个可以处理这两种模式的正则表达式。

Pattern patternSet = Pattern.compile("^tree[0-9]$");


泛舟湖上清波郎朗
浏览 82回答 2
2回答

撒科打诨

您可以添加可选的[a-z]?字符类^tree[0-9][a-z]?$^字符串的开头tree按字面意思匹配[0-9]匹配数字0-9[a-z]?可选地匹配 az$字符串结尾正则表达式演示| Java演示Pattern patternSet = Pattern.compile("^tree[0-9][a-z]?$");

收到一只叮咚

您的正则表达式应该如下所示tree\d[a-z]?,因此您的模式可以是:Pattern patternSet = Pattern.compile("tree\\d[a-z]?");如果您想要的不仅仅是一个数字和一个字母,您可以使用:Pattern patternSet = Pattern.compile("tree\\d+[a-z]*");最后一个模式可以匹配tree123,tree1abc或者tree123abc
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java