2015-10-30 23 views
1

我會用代碼來啓動說明:Matlab的:正則表達式使用

A = 'G1(General G1Airlines american G1Fungus)'; 

使用Matlab中我想區別定位的正則表達式(或任何其它功能):G1,G1A和G1F。

目前,如果我嘗試做一些如:

B = regexp(A, 'G1') 

它是無法與G1A和G1F即我需要強制比較,找出我只與G1的情況下,忽略G1A區分G1和G1F。

但是,當我搜索G1A時,它仍然應該找到我G1A的位置。

有人可以幫忙嗎?

編輯:對於A另一種情況是:

A = 'R1George Service SmalR1Al C&I)'; 

而且表達這個時候,我需要找到是R1和R1A來代替。

編輯: 我有一個巨大的數組包含A和另一個大的載體,包含我需要搜索的G1,R1等。

+0

你的問題是後編輯混淆。我現在不清楚你想要什麼,並且我不確定我的答案是否滿足這個問題? – IKavanagh

+0

我試圖澄清,是否更清楚? – Zanam

+0

我認爲我的答案應該能夠滿足您的需求。我對嗎? – IKavanagh

回答

6

如果你想找到'G1'但不'G1A''G1F'可以使用

>> B = regexp(A, 'G1[^AF]') 
B = 
    1 

這將找到'G1'^用於指定它應該包含[]匹配任何字符。然後,你可以使用

>> B = regexp(A, 'G1[AF]') 
B = 
    12 32 

找到既'G1A''G1F'