如何使用正则表达式拒绝Java中的字符串“0”零

我在创建正则表达式模式来拒绝字符串中的“0”值时遇到问题。我尝试按如下方式否定字符串

[^!(?0)]

但我相信这是错误的。因为它还会拒绝包含零的字符串,例如 10000"。是否可以仅使用正则表达式来处理此问题?因为使用 if-else 更容易。

例子:

  • “0”——无效

  • “0000”-无效

  • “10”——有效

  • “10000”-有效


哈士奇WWW
浏览 153回答 2
2回答

梵蒂冈之花

您可以使用:^0+$...并对其进行验证。本质上,它从头到尾检查输入以确保它仅由 0 组成。您只需要反转验证即可。或更好:!myString.matches("0+")String#matches将整个字符串与模式进行匹配。否定调用的结果可确保只有0+填充整个字符串的事件才是无效的。

ITMISS

如果你想检查字符串是否不是从0(即 和都是"01"无效字符串)开始,你可以尝试"010""00100"^(?!0).*模式,其中^     - (anchor) start of the string(?!0) - negative look behind (not start from 0).*    - any symbols 或(没有正则表达式)bool result = !myString.startsWith("0");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java