我在創(chuàng)建正則表達(dá)式模式來(lái)拒絕字符串中的“0”值時(shí)遇到問(wèn)題。我嘗試按如下方式否定字符串[^!(?0)]但我相信這是錯(cuò)誤的。因?yàn)樗€會(huì)拒絕包含零的字符串,例如 10000"。是否可以?xún)H使用正則表達(dá)式來(lái)處理此問(wèn)題?因?yàn)槭褂?if-else 更容易。例子:“0”——無(wú)效“0000”-無(wú)效“10”——有效“10000”-有效
2 回答

梵蒂岡之花
TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以使用:
^0+$
...并對(duì)其進(jìn)行驗(yàn)證。
本質(zhì)上,它從頭到尾檢查輸入以確保它僅由 0 組成。您只需要反轉(zhuǎn)驗(yàn)證即可。
或更好:
!myString.matches("0+")
String#matches
將整個(gè)字符串與模式進(jìn)行匹配。否定調(diào)用的結(jié)果可確保只有0+
填充整個(gè)字符串的事件才是無(wú)效的。

ITMISS
TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果你想檢查字符串是否不是從0(即 和都是"01"無(wú)效字符串)開(kāi)始,你可以嘗試"010""00100"
^(?!0).*
模式,其中
^ - (anchor) start of the string
(?!0) - negative look behind (not start from 0)
.* - any symbols
或(沒(méi)有正則表達(dá)式)
bool result = !myString.startsWith("0");
添加回答
舉報(bào)
0/150
提交
取消