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

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

用于驗證帶有可選空格的字母數(shù)字字符串的正則表達式

用于驗證帶有可選空格的字母數(shù)字字符串的正則表達式

夢里花落0921 2023-05-25 15:45:00
我一直在研究一個正則表達式,用于使用以下規(guī)則驗證字母數(shù)字字符串:前四個起始字符必須是數(shù)字,最后 兩個字符必須是字母??崭袷强蛇x的,但必須放在兩個字符之間,這意味著不允許使用尾隨空格。如果 不包括空格,則郵政編碼的長度必須為6 個字符,如果包括空格,則必須為7 個字符。例如。第1111章111 1ZZ1 111ZZ1111ZZ我嘗試使用^[0-9]{4}[A-Za-z]{2}$|^(?=[\d|\D]+ [\d|\D]+).{7}$,但這也將9999 1A驗證為 TRUE,實際上應(yīng)該是 FALSE。任何線索或幫助將不勝感激:)
查看完整描述

3 回答

?
繁花如伊

TA貢獻2012條經(jīng)驗 獲得超12個贊

(?=^.{6,7}$)^(([0-9] ?){4}( ?[a-zA-Z]){2})$

將匹配

  • 第1111章

  • 111 1ZZ

  • 1 111ZZ

  • 1111ZZ

  • 第1111章

但不是

  • 9999 1A

  • 11111Z

  • 1111111

  • 11 11 ZZ

https://regex101.com/r/lByOx6/1

編輯:解釋

“積極前瞻”部分:

  • (?=^.{6,7}$)這僅在字符串滿足要求時才匹配,但它不會“消耗”字符。

    • . 是任何字符

    • {6,7} 是關(guān)于重復(fù)

如果字符串有 6 個或 7 個字符,則匹配so (?=^.{6,7}$),無論如何

然后下面的部分已經(jīng)“消耗”了字符串,說我想要在開始時重復(fù) 4 次數(shù)字和可選的空格,在結(jié)束時重復(fù) 2 次字母和可選的空格。第二部分將接受諸如此類的字符串,1 1 1 1  Z Z但由于這些字符串超過 7 個字符,因此第一部分不會讓字符串匹配。


查看完整回答
反對 回復(fù) 2023-05-25
?
天涯盡頭無女友

TA貢獻1831條經(jīng)驗 獲得超9個贊

我建議通過減少所有你似乎不感興趣的空格來提前簡化問題:

var candidate = input.replaceAll(/\s/mg, '');

那么正則表達式就是:/^\d{4}[A-Za-z]{2}$/

但是,如果您需要驗證實際上沒有前導或尾隨空格,您可以提前驗證并立即返回否定結(jié)果。


查看完整回答
反對 回復(fù) 2023-05-25
?
滄海一幻覺

TA貢獻1824條經(jīng)驗 獲得超5個贊

另一種選擇是檢查字符串是否在第一個和最后一個非空白字符之間包含可選空格。

然后匹配第一個數(shù)字后跟由可選空格分隔的 3 位數(shù)字和 2 或 3 倍的字符 a-zA-Z 或空格。

使用不區(qū)分大小寫的匹配:

^(?=\S+ ?\S+$)\d(?: ?\d){3}[A-Z ]{2,3}$

解釋

  • ^字符串的開始

  • (?=正面前瞻,斷言右邊是什么

    • \S+ ?\S+$匹配第一個和最后一個非空白字符之間的可選空格

  • ) 關(guān)閉前瞻

  • \d(?: ?\d){3}匹配一個數(shù)字并重復(fù) 3 次可選空格和一個數(shù)字

  • [a-zA-Z ]{2,3}匹配 2-3 次字符 a-zA-Z 或空格

  • $字符串結(jié)束

正則表達式演示


查看完整回答
反對 回復(fù) 2023-05-25
  • 3 回答
  • 0 關(guān)注
  • 216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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