我想測試一個用戶字符串是否「迄今爲止」,因爲它可能不是一個有效的整體,但它是一個有效的子集。如何獲得正則表達式匹配的有效部分
我有一個正則表達式,例如^ [0-9] {4} - [0-9] {4} - [0-9] {4} - [0-9] $ 這樣「1234-1234 -5678-5678「有效
」1234-12「或甚至」1「不匹配模式,但它是一個有效格式的有效子集,換句話說,輸入到目前爲止是確定的。
有沒有一個很好的方法做到這一點,而沒有製造許多正則表達式,它的星期五。
我想測試一個用戶字符串是否「迄今爲止」,因爲它可能不是一個有效的整體,但它是一個有效的子集。如何獲得正則表達式匹配的有效部分
我有一個正則表達式,例如^ [0-9] {4} - [0-9] {4} - [0-9] {4} - [0-9] $ 這樣「1234-1234 -5678-5678「有效
」1234-12「或甚至」1「不匹配模式,但它是一個有效格式的有效子集,換句話說,輸入到目前爲止是確定的。
有沒有一個很好的方法做到這一點,而沒有製造許多正則表達式,它的星期五。
不知道如果我深知你的問題,但我認爲你想有這樣的事情:
^([0-9]{4}-){1,3}[0-9]{1,4}$
這將匹配組的4位,並且可以具有從1到4位
您也可以縮短與您正則表達式:
^(\d{4}-){1,3}\d{1,4}$
您可能可以使用一個最終的正則表達式來驗證您當前擁有的表單,並且可以使用用戶輸入的動態正則表達式對每個子集都有效。
我的想法是有([0-9] {1,4} - )+
,但這將使「1-2」有效,它不是 – Arthur
對於你的情況,這將檢查作爲一個類型:
/^(\d(\d(\d(\d(-(\d(\d(\d(\d(-(\d(\d(\d(\d(-(\d)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?$/
此正則表達式,你鍵入將匹配鍵鍵,雖然它有點麻煩。
^([0-9]{1,4}|[0-9]{4}-[0-9]{0,4}|[0-9]{4}-[0-9]{4}-[0-9]{0,4}|[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{0,4})$
所以1234年至1212年是否有效? – funcoding
考慮例如''AAAAAc'.match(/ A + B | C /)'。根據你的說法,「AAAAA」是否爲「有效子集」? – georg