2011-06-22 50 views
5

我需要將Java正則表達式轉換爲ActionScript正則表達式。Java和ECMA-262(AS,JS)中正則表達式的區別

那裏顯然沒有任何預製轉換器,所以我試圖自己寫一個。是否有資源可以列出所有的差異?

我知道regular-expressions.info,但似乎並沒有全面列出差異。

謝謝

回答

7

我不知道任何現有的轉換器,但如果您的目標是特定的ActionScript而不是任何ECMA-262實現,那麼作業可能比您預期的要容易。 AS3由PCRE驅動,與PHP的preg_函數相同,所以它支持向後看,原子組和佔有量詞,與Java相同。它還支持Java的DOTALL擴展除了模式JS的忽略大小寫。它也支持內聯修飾符語法((?imsx))。

PCRE的Unicode支持比Java更好,但不幸的是,我不認爲它包含在ActionScript中。 Unicode功能似乎與PCRE中的UTF-8字符編碼顯式相關;我相信ActionScript根據ECMA-262使用UTF-16。無論如何,它的Unicode支持似乎是最小的,與JavaScript的一樣。

0
+0

對不起,我應該已經提到我試過regular-expressions.info了。我編輯了我的帖子,以包括這一點。 – tsiki

1

這裏是一個細分:

 
java.util.regex         RegExp.prototype 
Character class set operations 
(?#…) comment patterns 
Named capture 
The /y (sticky) modifier 
The /x (extended) modifier 
\u10000+ Codepoints 
Possessive quantifiers 
Quotation 
Exception Handling 
Linebreak matcher 

參考

相關問題