以下示例是我試圖實現的結果: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)));

有只小跳蛙
TA貢獻1824條經驗 獲得超8個贊
這是你想要的:
^[a-zA-Z]((?! {2})[a-zA-z ]){2,}$
開始和結束分隔符很重要。如果它至少是三個,則需要將要查找的數字設置為 2 以考慮后一組中未計算的第一個字符。
它還使用負前瞻,這是什么?!是。這意味著如果它發現 ?! 在匹配中它不被視為有效匹配。
我使用'{2}' 來表明我正在尋找兩個空格,因為'' 可能會模棱兩可。
如果您還沒有,有很多在線資源可以讓您測試您的正則表達式,以及能夠查找語法。我個人使用https://regex101.com/。
- 2 回答
- 0 關注
- 231 瀏覽
添加回答
舉報
0/150
提交
取消