我嘗試在JavaScript中編寫簡單的Markdown解析器。因此我想檢查[link content][link id]
語法。我使用下面的代碼:JavaScript RegExp對象
data = data.replace(/\[(.*?)\][ ]*\[([0-9]+)\]/g, '<a href="$2">$1</a>');
它運作良好,但現在我想用RegExp對象來做到這一點。所以我設置了下面的代碼位:
var r = new RegExp('\[(.*?)\][ ]*\[([0-9]+)\]', 'g');
data = data.replace(r, '<a href="$2">$1</a>');
但它不工作。它甚至說,我的正則表達式(其中工程以來,第一個例子做了很好的工作)是無效的:
無與倫比)在正則表達式
我認爲,必須有一些RegExp-做我不知道的物體特性。 我在做什麼錯,怎麼解決問題?
在旁註中,您可能會發現通過在線測試程序運行JavaScript正則表達式很有用(http://www.pagecolumn.com/tool/regtest.htm)。 – Dscoduc 2009-02-05 17:27:50
謝謝,似乎是一個偉大的工具。我使用了這個(http://regexp-evaluator.de/evaluator/)PHP-ish評估器。也許JS-ish在使用JS編寫腳本時效果更好:) – okoman 2009-02-05 17:31:31