我試圖寫一個正則表達式使用C#/。淨匹配1-4字母數字後跟空格,然後是10位數字。捕捉是空格的數量加上字母數字的數量必須等於4,並且空格必須遵循字母數字,而不是散佈。正則表達式匹配一組字母后跟一組空格,使固定的字符總數
我完全喪失瞭如何做到這一點。我可以做^[A-Za-z\d\s]{1,4}[\d]{10}$
,但是可以讓空間落在前四個字符的任何位置。或者我可以做^[A-Za-z\d]{1,4}[\s]{0,3}[\d]{10}$
來保持空格在一起,但是這會在10位數字之前超過總共四個字符。
有效期: A12B1234567890 AB1 1234567890 AB 1234567890
無效: AB1 1234567890 (more than 4 characters before the numbers) A1B1234567890 (less than 4 characters before the numbers) A1 B1234567890 (space amidst the first 4 characters instead of at the end)
請明確定義您的標準。我不確定在10位數字*之前,會有多於四個字符的數字。如果你至少需要1個空間會怎麼樣? '^ [A-ZA-Z \ d] {1,4} \ S {1,3} \ d {10} $'。 –
包含一組匹配和不匹配將非常有幫助 – ryanyuyu
要清楚,如果在開頭處有4個字母數字字符,那麼沒有空格是有效的,不是嗎? –