2010-11-05 72 views
0

我遇到了將正則表達式從Python轉換爲Flex的問題。我的字符串是這樣的:Flex正則表達式轉換幫助

SELECT "col", othercol,\n "othercol3" FROM doesn'tmatter... 

Python的比賽就好了:

>>> re.search('select(.*?)from', 'SELECT "col", othercol,\n "othercol3" FROM doesn\'tmatter...', re.DOTALL|re.IGNORECASE).groups()[0] 

' "col", othercol,\n "othercol3" ' 

但是,當我嘗試在軟硬度:

var pattern:RegExp = /select(.*?)from/ig; 
var match:Array = pattern.exec('SELECT "col", othercol,\n "othercol3" FROM doesn\'tmatter...'); 
trace(match); 

match最終總是空。我究竟做錯了什麼?我敢肯定,這顯然對經驗豐富的Flex程序員......

+0

也許這個實現默認是非貪婪的,你必須忽略'?'? – thejh 2010-11-06 00:10:15

回答

0

嘗試很多Flex正則表達式測試人員在那裏:

http://www.idsklijnsma.nl/regexps/

一件事,你使用DOTALL等。所以你可能想知道Flex使用「s」標誌。而「X」標誌忽略空格等。例如,

pattern:RegExp = /select.+?from/gis;

作品我對你的例子。

+0

謝謝,dotall標誌是我需要的。 – Kevin 2010-11-06 00:28:11