两个完整正则表达式之间的 Java 条件



我喜欢在Java中创建一个正则表达式(regex(,如果不是一个或多个零,或者不是3037,它应该是真的。

我为这 2 个条件准备了 2 个不同的正则表达式

  • 对于0条件:[^0]+
  • 对于3037条件:^((?!^3037$).)*$

但不知道如何在它们之间放置OR

通行证案例:

001
002
30377
23037
2
4
55

失败条件:

0
00
000
0000
00000
3037

您可以将此组合正则表达式用于 2 个条件(并且不使用交替(:

^(?!(?:3037|0+)$)d*$

正则表达式演示

正则表达式详细信息:

  • ^:输入开始
  • (?!(?:3037|0+)$):断言输入的负展望不3037,也不全为零
  • d*:匹配任意数字 0 或更多次
  • $ : 输入结束

最新更新