2016-12-14 31 views
1

我有了這樣的方括號中的版本號更新日誌:正則表達式 - 提取除方括號中的所有文本,並對其內容

## [0.3.0] - 2016-12-13 - FIX This is an example fix - FEATURE An example feature

我想提取的版本號,所以我左正與:

[Unreleased] [0.3.0] [0.2.4] [0.2.3]

理想情況下,我想只提取方括號中的第一個值不是「未發行」,所以我得到最新版本號0.3.0,雖然我不確定這是否可能在正則表達式。

任何人都可以幫忙嗎?謝謝:)

+1

你使用什麼工具/語言? – Bohemian

+2

到目前爲止您嘗試了什麼,您的嘗試不符合您的需求? – Welbog

+0

'(\ [。*?\])'試試這個。 – MYGz

回答

2

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

.*(\[.*?\]).* 

隨着替換字符串:\1

順便說一句,如果你想刪除所有其他文字,那麼你可以使用:

.*(\[.*?\]).*|* 

Working demo

更新:如果你想變換更改日誌中的版本的列表,我能想出這個表達式:

.*(\[.*?\])[\s\S]*?(^$|\z) 

Working demo

+0

多數民衆贊成在完美!這麼快,謝謝Federico :) – alidrongo

+0

'[^ [\ r \ n] +(?:\ R [^ [\ r \ n] +)* \ R?|(\ [[^]] * \]) '應該是你上一次正則表達式的性能改進。 '[^ [\ r \ n] + |(\ [[^]] * \])'爲前一個。 –

+0

@SebastianProske,很高興知道。感謝您的評論。 –

相關問題