第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

正則表達(dá)式用于由空格分隔的9個(gè)唯一數(shù)字?

正則表達(dá)式用于由空格分隔的9個(gè)唯一數(shù)字?

慕妹3242003 2022-09-07 17:04:33
我正在嘗試為數(shù)字輸入編寫(xiě)一段驗(yàn)證代碼。這些數(shù)字必須包含 0 到 8。順序無(wú)關(guān)緊要,但數(shù)字不能重復(fù)。例如 1 4 7 8 0 2 5 3 6 //valid 1 1 3 6 3 8 0 5 4 //無(wú)效,因?yàn)?1 重復(fù)到目前為止,我有一個(gè)正則表達(dá)式,它接受9個(gè)唯一的數(shù)字: String pattern = "^(?!.*(.).*\\1)\\d{9}";例如 123456780 //valid112345678 //無(wú)效,因?yàn)?1 重復(fù)1 2 3 4 5 6 7 8 0 //無(wú)效我所需要的只是添加一個(gè)位,它接受由空格分隔的數(shù)字!謝謝。
查看完整描述

2 回答

?
白衣非少年

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊

這實(shí)際上是濫用正則表達(dá)式:D但

^(?!.*(\d).*\1)(?:[0-8] ){8}[0-8]$

應(yīng)該這樣做。確保在不允許重復(fù)的部分只考慮數(shù)字;然后,您可以有八個(gè)數(shù)字空間對(duì),后跟一個(gè)數(shù)字在末尾(帶有正確的數(shù)字)。


查看完整回答
反對(duì) 回復(fù) 2022-09-07
?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

我不確定您是否需要正則表達(dá)式??紤]使用 :Set


Scanner sc = new Scanner(System.in);

Set<Integer> set = new HashSet<>();

int count = 0;

while (count < 9) {

    System.out.println("Enter a number:");

    int num = sc.nextInt();

    if (num >= 0 && num <= 8) {

        set.add(num);

    }

    count++;

}


System.out.println(set.size() == 9);

或者,如果您的輸入一次性出現(xiàn):


String[] nums = sc.nextLine().split("\\s+");

for (String num : nums) {

    set.add(Integer.parseInt(num));

}

您必須考慮檢查無(wú)效輸入?;蛘?,您可以在添加到集合之前先檢查是9,然后立即返回。numsfalse


查看完整回答
反對(duì) 回復(fù) 2022-09-07
  • 2 回答
  • 0 關(guān)注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)