正則表達式:^[a-zA-Z]+(?:[\\s'.-]*[a-zA-Z]+)*$我想在其上添加另一個驗證,即最少 3 個字符和最多 15 個字符。正則表達式:^([a-zA-Z]+(?:[\\s'.-]*[a-zA-Z]+)*){3,28}$這是驗證最小字符而不是最大字符。任何幫助表示贊賞。
1 回答
慕少森
TA貢獻2019條經(jīng)驗 獲得超9個贊
您可以使用正向前瞻(?=.{3,15}$來檢查字符串的長度是否為 3 到 15 個字符。
因為字符串的最小長度是 3 并且必須以 a-zA-Z 開頭和結尾,所以在這種情況下,您可以在中間組合 2 個字符類。
我認為您的模式可以通過刪除組的重復來簡化,因為積極向前看:
^(?=.{3,15}$)[a-zA-Z]+[\\s'.a-zA-Z-]*[a-zA-Z]+$解釋
^字符串的開始(?=.{3,15}$)積極前瞻斷言長度 3-15[a-zA-Z]+匹配 1+ 次小寫/大寫字符 az[\\s'.a-zA-Z-]*匹配任何列出的 0 次以上的字符類[a-zA-Z]+匹配 1+ 次小寫/大寫字符 az$字符串的結尾
查看Java 演示
添加回答
舉報
0/150
提交
取消
