2010-09-03 157 views
1

出於某種原因,我似乎無法使用正則表達式來匹配Flex中的括號來拯救我的生命。在Flex中與正則表達式匹配的括號

這是怎麼回事?

var commandTxt:String = "switchview(adf)"; 
var switchViewArray:Array = commandTxt.match(new RegExp("switchview\(", "i")); 

我已經嘗試了幾十件事,但我似乎無法得到一個匹配的括號。這裏有什麼?

回答

4

我從來沒有使用Flex,但很可能這是因爲\在雙引號中有特殊含義。
使用雙逃生:

new RegExp("switchview\\(", "i"); 

或者你也可以這樣寫:

var pattern:RegExp = /switchview\(/i; 
... match(pattern) 
+0

是 - 顯然你使用引號時需要加倍逃脫。所以(需要\\(,\ d是\\ d等)。 – jcelgin 2010-09-06 02:09:34