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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式量詞匹配較短的序列

正則表達式量詞匹配較短的序列

不負相思意 2021-06-30 01:31:30
我正在測試一個用于識別可能的信用卡號的簡化正則表達式,以便我們可以將它們過濾掉。我正在尋找 13-16 位數(shù)字,可以選擇在每個數(shù)字后使用任意數(shù)量的空格和“-”,并且整個序列被單詞邊界包圍。似乎這個正則表達式應該可以解決問題(選項 1): \b(?:\d[ -]*?){13,16}\b但是當我測試這個(在我的代碼(在 JavaScript 中)和在regex101.com 上)使用它的測試字符串時, 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6它只匹配1 2 3 4 5 6 7 8 9 0 1 2 3,即我的{13,16}量詞中最短的數(shù)字。我正在閱讀的所有內(nèi)容都表明它應該與可能的最長序列相匹配,但顯然不是。如果我將正則表達式更改為\b(?:\d[ -]*?){16}\b匹配所有 16 位數(shù)字(但當然不匹配 13-15 位數(shù)字)。我可以先使用最長序列的交替來解決這個問題,就像這樣(選項 2):\b(?:\d[ -]*?){16}|(?:\d[ -]*?){15}|(?:\d[ -]*?){14}|(?:\d[ -]*?){13}\b或者,如果我在第一次匹配 {12,15} 后顯式添加另一個組到最后,就像這樣(選項 3):\b(?:\d[ -]*?){12,15}(?:\d[ -]*?)\b如果其中之一是唯一的方法,我可以接受它,但它們都比更緊湊的選項 1 丑陋,而且我還想了解為什么選項 1 不像我想的那樣工作它會。就此而言,為什么選項 3 在它匹配的項目數(shù)量方面似乎表現(xiàn)不同?它匹配 15 位數(shù)字而不是 12 位數(shù)字。
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號