2014-01-13 84 views
2

我很疲憊,因爲我沒有在MATLAB的網站上發現任何建議如何做到這一點。MATLAB轉義括號

我有一組字符串,例如'AGB1129C(1)'並嘗試對它們執行正則表達式,以便所有以(1)和(2)結尾的字符串可以分開。問題是我無法找到括號()的轉義字符。有誰知道逃生角色應該是什麼?

N.B.我的正則表達式是'[A-ZA-ZA-Z0-90-90-90-9]+\(1\)'

+1

如果你想有專門匹配的字母和數字,你會寫'\ W \ W \ W \ d \ d \ d \ d \ d \(\ 1 \)'或短:'\ w {3} \ d {5} \(1 \)' – Jonas

+0

@Jonas我所做的就是''([A-ZA-Z0-90-9A-Z] + \(1 \))''這是正常的:)你的解決方案也是正確的! – ha9u63ar

回答

3

您的正則表達式語法不正確(但\在MATLAB正則表達式中是正確的轉義字符)。試試這個示例:

>> regexp('AGB1129C(1)', '[A-Z0-9]+\(1\)') 

ans = 

1 
+0

哦對!所以括號實際上將表達式組合在一起!嗯...感謝這...非常大的幫助! – ha9u63ar

+0

分組覆蓋在這裏:http://www.mathworks.co.uk/help/matlab/matlab_prog/regular-expressions.html#f0-42884 – Edric