2017-04-06 24 views
1

可以說我有以下2個字符串:正則表達式喜歡在第二組更高長度

「506」 「1008」

我要提取的5和06從字符串第二個10和08。我想出了以下正則表達式:

(\d{1,2})(\d{1,2}) 

這匹配50和6,10和08.這不完全是我想要的。我需要匹配5和06而不是50和6.我如何表示我希望第二組獲得更高的長度?

+1

只需修復2個第二組的長度。 – horcrux

+0

Omg你是一個天才,有時最簡單的解決方案被忽視..如果你寫這個答案我會將它標記爲答案 –

+0

@horcrux:請發表一個答案。 –

回答

1

,你可以換用字邊界的模式,捕捉精彩2位到第2組:

\b(\d{1,2})(\d{2})\b 

regex demo

  • \b - INTIAL字邊界
  • (\d{1,2}) - 第1個捕獲一位或兩位數
  • (\d{2}) - 第2組完全匹配2位數
  • \b - 尾隨字邊界。
+0

雖然你的回答完美地回答了這個問題,並且是有效的,但我想用魂力來回答。他回答了真正被忽視的解決方案。 –

+0

@JohnSmith這個答案很好,我只會發佈一個副本。 – horcrux