2016-02-29 55 views
0

我找不出我的問題。 我有一個範圍的字符串等正則表達式返回太多 - 貪婪?

ST078K 
C022ZK 
C1084A 
H963F 
K123AA 

總之,1或2個字符開始,接着3個或4個數字,隨後用1個或2個字符。然而,我正則表達式匹配也沒有出現在最後的1或2個字符,像AB1234 我的正則表達式是

^\w{1,2}?\d{3,4}\w{1,2}$ 

與忽略大小寫,並設置全局選項。爲什麼在字符串結束之前它並不關心\ w {1,2}? 感謝您的幫助!

+1

因爲\ w匹配數字以及 – nAviD

+0

Aaargh,多麼愚蠢。謝謝 – ExternalUse

回答

1

試試這個:

^[A-Z]{1,2}?\d{3,4}[A-Z]{1,2}$ 

一個數字被認爲是由\覆蓋W,因此最後一個二字字符進行匹配您的數字。替換爲[A-Z]修復了這個問題。祝你好運!

你可以找到它的演示here