2011-06-28 41 views

回答

7

您可以通過使用

[0-9]{9}([0-9]{3})? 

但在我看來救一個字符用自己的方式更好,因爲它更清晰地傳達你的意圖。正則表達式很難讀取。您可以使用\d而不是[0-9]

(編輯:我首先想到的,你可以刪除括號周圍[0-9]{3}但你不能;問號將被忽略,所以你只能救一個字符,而不是三個。)

(編輯2:還需要錨定的正則表達式與^$(或\b)或re.match()也將在1234567890匹配123456789

+1

+1用於提高可讀性 – tobyodavies

+0

+1同樣的答案! – Bohemian

1

你可以這樣做:

[0-9]{9}[0-9]{3}? 

沒有太大的不同是它...

6

你可以嘗試

(\d{9}\d{3}?) 

匹配9,然後一個額外的選擇3個位數

((\d{3}){3,4}) 

搭配3或四組3位數字

+1

+1我喜歡你的創造力 – Bohemian

相關問題