2011-12-09 145 views
0

我有一段用JavaScript編寫的遺留代碼,掃描網頁源並查找模式。JavaScript正則表達式到Java正則表達式

我正在將函數遷移到Java程序。所以,我的問題是我怎樣才能解析一個JavaScript的正則表達式與Java的某種查找和替換功能?

例如我的JavaScript正則表達式當前讀取(作爲一個字符串)

RegEx = "/(\\/addthis_widget\\.(js|php)|\\.addthis\\.com\\/js\\/widget\\.(js|php))/i";

我發現這個舊帖子上計算器:

How to convert javascript regex to safe java regex?

這sudgests,這將這樣的伎倆:

strOutput.replace("/{{[^]*?}}/g","");

但是,這看起來不夠健壯,並且不會產生被編譯器識別的RegEx。

+0

我想知道是否可以從JavaScript正則表達式自動生成Java正則表達式。不過,我不確定是否有任何工具。 –

+0

這個問題也討論了正則表達式從JavaScript到Java的轉換:http://stackoverflow.com/questions/8754444/convert-javascript-regular-expression-to-java-syntax –

回答

1

刪除/在開始和/我在最後。 在開始處添加(?i)。

Java不使用/expr/options格式。 /expr/G將被\ G邊界匹配替換,但是在java中,您通常只需多次調用matcher.find(),並且它將自動開始搜索前一個匹配,使得\ G無意義。

更改全部\\//,轉發斜線不需要轉義。

相關問題