亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

正則表達式:只允許字母和單個空格,并且必須以字母開頭,并且長度必須至少為 3

正則表達式:只允許字母和單個空格,并且必須以字母開頭,并且長度必須至少為 3

PHP
慕絲7291255 2022-10-09 17:42:21
以下示例是我試圖實現的結果:99Hello -> invalid(starts with numbers)He  llo -> invalid(has two spaces)He -> invalid(minimum length 3)He llo -> validHe l l o -> validHel -> valid這是我嘗試過的:[a-zA-Z][a-zA-Z ]{3,}
查看完整描述

2 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

您可以根據需要使用此正則表達式:


/^(?!.*  )[a-z][a-z ]{2,}/i

它對字符串中某處相鄰的 2 個空格進行負前瞻,然后嘗試匹配一個字母后跟 2 個或更多字母和/或空格。


let t = ['99Hello',

'He  llo',

'He',

'He llo',

'He l l o',

'Hel'];


console.log(t.filter(v => /^(?!.*  )[a-z][a-z ]{2,}/i.test(v)));


查看完整回答
反對 回復 2022-10-09
?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

這是你想要的:

^[a-zA-Z]((?! {2})[a-zA-z ]){2,}$

開始和結束分隔符很重要。如果它至少是三個,則需要將要查找的數字設置為 2 以考慮后一組中未計算的第一個字符。

它還使用負前瞻,這是什么?!是。這意味著如果它發現 ?! 在匹配中它不被視為有效匹配。

我使用'{2}' 來表明我正在尋找兩個空格,因為'' 可能會模棱兩可。

如果您還沒有,有很多在線資源可以讓您測試您的正則表達式,以及能夠查找語法。我個人使用https://regex101.com/。


查看完整回答
反對 回復 2022-10-09
  • 2 回答
  • 0 關注
  • 231 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號