2016-09-03 164 views
0

我需要提取開始字符和三個不同結束字符的可能性之間的3個數字的字符串。盯着_a並以_b,_c或_d結尾。我知道如何用strfind做到這一點,但真的想知道如何使用正則表達式。提取兩個字符之間的字符串 - Matlab(regexp)

例如字符串可以是:

ggggga_a123_cggggg

或/

gggggg_a345_bggggg

或/

gggggg_a456_dggggg

如何我只是提取三個數字不知道該結束字符這將是。 感謝

+1

你試過什麼正則表達式? –

+0

'_f?(n_ \ m_ | w_)?' –

+0

我只是做了regexp(s,'(?<= _ a)。*(?= b_ | c_ | d _)','match'); 這個工作適用於所有實例嗎? –

回答

1

我會去用這樣的正則表達式:

_a(\d{3})_[bcd] 

這將完成爲符合起始_a,匹配提取捕獲組(())的3個數字,然後匹配第二個下劃線和b,cd之一。

相關問題