我正在尋找一個匹配的正則運算式:
長度在 1 到 10 之間。
第 8 個字符可以是字母數字 [0-9a-zA-Z],其余的必須是數字 [0-9]
有效的
1
123
1234567890
1234567a
無效的
1a
123456789a
12345678901
我試過了:[0-9]{1,7}[0-9a-zA-Z][0-9]{0,1}但那失敗得很慘
uj5u.com熱心網友回復:
您可以匹配 1-7 位,也可以匹配 7 位,第 8 位是[0-9a-zA-Z]可選的 2 位。
^(?:\d{7}[\da-zA-Z]\d{0,2}|\d{1,7})$
^字串的開始(?:非捕獲組\d{7}[\da-zA-Z]\d{0,2}匹配 7 個數字和一個0-9a-zA-Z]和 2 個可選數字|或者\d{1,7}匹配 1-7 位數字
)關閉非捕獲組$字串結束
正則運算式演示
uj5u.com熱心網友回復:
你可以試試:
^(?!.{11})\d(?:\d{6}[^\W_])?\d*$
查看在線演示
^- 起跑線錨;(?!.{11})- 負前瞻以防止 11 個字符;\d- 一個數字;(?:\d{6}[^\W_])?- 可選的非捕獲組,以匹配更多 6 個數字和類中的任何字符[A-Za-z0-9];\d*- 0 (貪婪)數字;$- 端線錨。
uj5u.com熱心網友回復:
那么你可以通過使用簡化第四只鳥的解決方案\w
像這樣:
^(?:\d{7}\w\d{0,2}|\d{1,7})$
但這基本上是一樣的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/420834.html
標籤:
