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

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

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

哈士奇WWW 2023-08-09 15:55:31
我在创建正则表达式模式来拒绝字符串中的“0”值时遇到问题。我尝试按如下方式否定字符串[^!(?0)]但我相信这是错误的。因为它还会拒绝包含零的字符串,例如 10000"。是否可以仅使用正则表达式来处理此问题?因为使用 if-else 更容易。例子:“0”——无效“0000”-无效“10”——有效“10000”-有效
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

您可以使用:

^0+$

...并对其进行验证。

本质上,它从头到尾检查输入以确保它仅由 0 组成。您只需要反转验证即可。

或更好:

!myString.matches("0+")

String#matches将整个字符串与模式进行匹配。否定调用的结果可确保只有0+填充整个字符串的事件才是无效的。


查看完整回答
反对 回复 2023-08-09
?
ITMISS

TA贡献1871条经验 获得超8个赞

如果你想检查字符串是否不是从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");


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

添加回答

举报

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