为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

泛舟湖上清波郎朗 2023-09-20 17:36:23
我需要制作一个正则表达式来验证这两种模式。基本上,如果任何字符串是从以下两种模式传递的,我应该能够验证它。第一个模式是 - 我可以有这样的字符串tree1或tree2. 所以基本上是一个数字前面有 string tree。第二种模式是 - 我可以有这样的字符串tree1aor tree1bor tree2aor tree2b。所以这个模式的树[number][az]。我使用下面的正则表达式,但它仅适用于第一个模式。我怎样才能制作一个可以处理这两种模式的正则表达式。Pattern patternSet = Pattern.compile("^tree[0-9]$");
查看完整描述

2 回答

?
撒科打诨

TA贡献1934条经验 获得超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]?$");


查看完整回答
反对 回复 2023-09-20
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

您的正则表达式应该如下所示tree\d[a-z]?,因此您的模式可以是:

Pattern patternSet = Pattern.compile("tree\\d[a-z]?");

如果您想要的不仅仅是一个数字和一个字母,您可以使用:

Pattern patternSet = Pattern.compile("tree\\d+[a-z]*");

最后一个模式可以匹配tree123tree1abc或者tree123abc


查看完整回答
反对 回复 2023-09-20
  • 2 回答
  • 0 关注
  • 61 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信