2016-09-28 199 views
1

我試圖匹配這個表達式的字符串之間的空間相匹配[A-Za-z] {3}在那裏。兩個正則表達式與匹配

這是我wan't以匹配字符串:

281320Z 26015KT 9999 3333 FEW028 SCT033 BKN053 16/10 Q1007= 

因此,在這種情況下,將只選擇9999 因爲有這麼MATCH1將預留空間。 在這種情況下:

281320Z 26015KT 9999 3333 4444 FEW028 SCT033 BKN053 16/10 Q1007= 

9999和4444將被選中。

我該怎麼做9999,3333,4444得到選擇?

回答

3

你可以使用正則表達式是這樣的:

\b(\d{4})(?:\b|[A-Z]{3}) 

Working demo

+0

檢索四位'的numbers'後,有可能是3個字符 – Kilazur

+0

@Kilazur感謝您指出的是,固定......現在檢查。 –

+0

太棒了!非常感謝! – Denniz

1

\b(\d{4})(?:[A-Za-z]{3})?\b應該做的伎倆。

(?:)是一個非捕獲組,我們使用它與?來指示其內容可能出現零次或一次。

使用$1